Sha256: 3b697f4d96365947c52ae14fff0cfb4d3ee1b68d237c11a051401428b6446147

Contents?: true

Size: 854 Bytes

Versions: 5

Compression:

Stored size: 854 Bytes

Contents

module Mollie
  module API
    module Object
      class List < Base
        include Enumerable

        attr_accessor :total_count,
                      :offset,
                      :count,
                      :links,
                      :data

        def initialize(list_attributes, klass)
          list_attributes['data'] ||= []
          super list_attributes

          @data = self.data.map do |attributes|
            klass.new attributes
          end
        end

        def each(&block)
          @data.each(&block)
        end

        def first_url
          links && links['first']
        end

        def previous_url
          links && links['previous']
        end

        def next_url
          links && links['next']
        end

        def last_url
          links && links['last']
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mollie-api-ruby-2.2.1 lib/mollie/api/object/list.rb
mollie-api-ruby-2.2.0 lib/mollie/api/object/list.rb
mollie-api-ruby-2.1.0 lib/mollie/api/object/list.rb
mollie-api-ruby-2.0.1 lib/mollie/api/object/list.rb
mollie-api-ruby-2.0.0 lib/mollie/api/object/list.rb