class Moip2::OrderApi

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/moip2/order_api.rb, line 5
def initialize(client)
  @client = client
end

Public Instance Methods

base_path() click to toggle source
# File lib/moip2/order_api.rb, line 9
def base_path
  "/v2/orders"
end
create(order) click to toggle source
# File lib/moip2/order_api.rb, line 13
def create(order)
  Resource::Order.new client, client.post(base_path, order)
end
find_all(limit: nil, offset: nil, q: nil, filters: nil) click to toggle source
# File lib/moip2/order_api.rb, line 21
def find_all(limit: nil, offset: nil, q: nil, filters: nil)
  encoded_filters = Moip2::Util::FiltersEncoder.encode(filters)

  # `URI.encode...` will accept nil params, but they will pollute the URI
  params = {
    limit: limit,
    offset: offset,
    q: q,
    filters: encoded_filters,
  }.reject { |_, value| value.nil? }

  query_string = URI.encode_www_form(params)
  path = "#{base_path}?#{query_string}"
  response = client.get(path)

  # We need to transform raw JSON in Order objects
  response.orders.collect! { |order| Resource::Order.new client, order }
  Resource::Order.new client, response
end
show(id) click to toggle source
# File lib/moip2/order_api.rb, line 17
def show(id)
  Resource::Order.new client, client.get("#{base_path}/#{id}")
end