Sha256: f2fb248f4a762921abc8d43cff9909b376872984c8edb0cbffba4e46dd469ec6

Contents?: true

Size: 967 Bytes

Versions: 13

Compression:

Stored size: 967 Bytes

Contents

module Payjp
  class ListObject < PayjpObject
    include Payjp::APIOperations::Request

    def [](k)
      case k
      when String, Symbol
        super
      else
        raise ArgumentError.new("You tried to access the #{k.inspect} index, but ListObject types only support String keys. (HINT: List calls return an object with a 'data' (which is the data array). You likely want to call #data[#{k.inspect}])")
      end
    end

    def each(&blk)
      data.each(&blk)
    end

    def retrieve(id, opts = {})
      response, opts = request(:get, "#{url}/#{CGI.escape(id)}", {}, opts)
      Util.convert_to_payjp_object(response, opts)
    end

    def create(params = {}, opts = {})
      response, opts = request(:post, url, params, opts)
      Util.convert_to_payjp_object(response, opts)
    end

    def all(params = {}, opts = {})
      response, opts = request(:get, url, params, opts)
      Util.convert_to_payjp_object(response, opts)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
payjp-0.0.16 lib/payjp/list_object.rb
payjp-0.0.14 lib/payjp/list_object.rb
payjp-0.0.13 lib/payjp/list_object.rb
payjp-0.0.12 lib/payjp/list_object.rb
payjp-0.0.10 lib/payjp/list_object.rb
payjp-0.0.9 lib/payjp/list_object.rb
payjp-0.0.8 lib/payjp/list_object.rb
payjp-0.0.7 lib/payjp/list_object.rb
payjp-0.0.6 lib/payjp/list_object.rb
payjp-0.0.5 lib/payjp/list_object.rb
payjp-0.0.4 lib/payjp/list_object.rb
payjp-0.0.3 lib/payjp/list_object.rb
payjp-0.0.2 lib/payjp/list_object.rb