```ruby
module CandyCheck
  module AppStore
    # Store multiple {Receipt}s in order to perform collective operation on them
    class ReceiptCollection
      # @return [Array<Receipt>]
      attr_reader :receipts

      # Initializes a new instance which bases on a JSON result
      # from Apple's verification server
      # @param attributes [Hash]
      def initialize(attributes)
        @receipts = attributes.map { |r| Receipt.new(r) }
      end

      # Check if the latest expiration date is passed
      # @return [bool]
      def expired?
        last_expires_date.to_date <= Date.today
      end

      # Check if in trial
      # @return [bool]
      def trial?
        @receipts.last.is_trial_period
      end

      # Get latest expiration date
      # @return [DateTime]
      def last_expires_date
        @receipts.last.expires_date
      end
    end
  end
end
```

Add method for getting overdue days
user
```ruby
module CandyCheck
  module AppStore
    # Store multiple {Receipt}s in order to perform collective operation on them
    class ReceiptCollection
      # @return [Array<Receipt>]
      attr_reader :receipts

      # Initializes a new instance which bases on a JSON result
      # from Apple's verification server
      # @param attributes [Hash]
      def initialize(attributes)
        @receipts = attributes.map { |r| Receipt.new(r) }
      end

      # Check if the latest expiration date is passed
      # @return [bool]
      def expired?
        overdue_days > 0
      end

      # Check if in trial
      # @return [bool]
      def trial?
        @receipts.last.is_trial_period
      end

      # Get latest expiration date
      # @return [DateTime]
      def last_expires_date
        @receipts.last.expires_date
      end

      # Get number of overdue days. If this is negative, it is not overdue.
      # @return [Integer]
      def overdue_days
        (Date.today - last_expires_date.to_date).to_i
      end
    end
  end
end
```
assistant