class Ecommerce::Resources::Order

A wrapper to Ecommerce orders API

API

Documentation: myfreecomm.github.io/passaporte-web/ecommerce/api/index.html

Attributes

activated_at[R]
activation_expired[R]
active_until[R]
address[R]
address_city[R]
address_complement[R]
address_number[R]
address_quarter[R]
address_state[R]
adjustments_url[R]
amount[R]
api_url[R]
charge_day[R]
checkout_url[R]
client_email[R]
client_name[R]
created_at[R]
discounts_url[R]
document_number[R]
global_account[R]
invoices_url[R]
is_active[R]
is_paid[R]
is_recurring[R]
is_trial[R]
next_payment_at[R]
number[R]
plan_change_urls[R]
plan_slug[R]
user_code[R]
zip_code[R]

Public Class Methods

create(slug, params) click to toggle source

Creates an Order

API

Method: POST /api/orders/:slug/

Documentation: myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#criacao-de-ordem-de-compra

# File lib/ecommerce/resources/order.rb, line 24
def self.create(slug, params)
  client.post("/api/orders/#{slug}/", body: params) do |response|
    build_order(response)
  end
end
destroy(order_id, slug) click to toggle source

Destroys an Order

API

Method: DELETE /api/orders/:slug/:order_id/

Documentation: myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#delete-api-orders-slug-id

# File lib/ecommerce/resources/order.rb, line 68
def self.destroy(order_id, slug)
  client.delete("/api/orders/#{slug}/#{order_id}/") do |response|
    build_order(response)
  end
end
find(order_id, slug) click to toggle source

Finds an Order

API

Method: GET /api/orders/:slug/:order_id/

Documentation: myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#detalhes-de-uma-ordem-de-compra

# File lib/ecommerce/resources/order.rb, line 54
def self.find(order_id, slug)
  client.get("/api/orders/#{slug}/#{order_id}/") do |response|
    build_order(response)
  end
end
find_all(slug, page = 1, limit = 20) click to toggle source

Lists all Orders of a slug and return a collection with orders and pagination information (represented by Ecommerce::Resources::OrderCollection)

API

Method: GET /api/orders/:slug/

Documentation: myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#listagem-de-ordens-de-compra

# File lib/ecommerce/resources/order.rb, line 39
def self.find_all(slug, page = 1, limit = 20)
  body = { page: page, limit: limit }
  client.get("/api/orders/#{slug}/", body: body) do |response|
    Ecommerce::Resources::OrderCollection.build(response)
  end
end
update(order_id, slug, order_params={}) click to toggle source

Updates an Order client information

API

Method: PUT /api/orders/:slug/:order_id/

Documentation for available and required fields: myfreecomm.github.io/passaporte-web/ecommerce/api/orders.html#put-api-orders-slug-id

# File lib/ecommerce/resources/order.rb, line 82
def self.update(order_id, slug, order_params={})
  client.put("/api/orders/#{slug}/#{order_id}/", body: order_params) do |response|
    build_order(response)
  end
end

Private Class Methods

build_order(response) click to toggle source
# File lib/ecommerce/resources/order.rb, line 90
def self.build_order(response)
  order_attributes = parsed_body(response)
  order_attributes.empty? ? {} : new(order_attributes)
end