Sha256: 074cfd8cac0c2e1cc71b1cba74f5d11067906cee6d0958bafad772b0b5fe9b11

Contents?: true

Size: 589 Bytes

Versions: 6

Compression:

Stored size: 589 Bytes

Contents

require "omise/util"
require "omise/object"

module Omise
  class List < OmiseObject
    include Enumerable

    def initialize(attributes = {})
      super(attributes)
      setup_data
    end

    def reload(attributes = {})
      assign_attributes resource(attributes).get(attributes) do
        setup_data
      end
    end

    def each(*args, &block)
      to_a.each(*args, &block)
    end

    def to_a
      @data
    end

    def last
      to_a.last
    end

    private

    def setup_data
      @data = @attributes["data"].map { |o| Omise::Util.typecast(o) }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
omise-0.4.0 lib/omise/list.rb
omise-0.3.0 lib/omise/list.rb
omise-0.2.1 lib/omise/list.rb
omise-0.2.0 lib/omise/list.rb
omise-0.1.5 lib/omise/list.rb
omise-0.1.4 lib/omise/list.rb