Class: SolidusClient::Client
- Inherits:
-
Object
- Object
- SolidusClient::Client
- Defined in:
- lib/solidus_client/client.rb
Overview
Solidus API Client entrypoint
Instance Method Summary collapse
- #add_item(order_number, data = {}) ⇒ Object
- #advance_checkout(order_number) ⇒ Object
- #complete_checkout(order_number) ⇒ Object
- #create_order(data = {}) ⇒ Object
- #create_product(data = {}) ⇒ Object
- #enter_payment_details(order_number, data) ⇒ Object
-
#initialize(url: nil, api_key: nil) ⇒ Client
constructor
A new instance of Client.
- #payments ⇒ Object
- #products ⇒ Object
- #remove_item(order_number, item_id) ⇒ Object
- #select_shipping_method(shipment_number, data) ⇒ Object
- #shipping_rates(shipment_number) ⇒ Object
- #shipping_zones ⇒ Object
- #states(country_id) ⇒ Object
- #update_order(order_number, data) ⇒ Object
Constructor Details
#initialize(url: nil, api_key: nil) ⇒ Client
Returns a new instance of Client.
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/solidus_client/client.rb', line 10 def initialize(url: nil, api_key: nil) url ||= ENV['SOLIDUS_URL'] api_key ||= ENV['SOLIDUS_API_KEY'] @connection = Faraday.new(url: url + '/api') do |connection| connection.(:Bearer, api_key) connection.use Faraday::Response::RaiseError connection.headers['Content-Type'] = 'application/json' connection.request(:json) connection.response(:json, parser_options: { symbolize_names: true }) connection.adapter Faraday.default_adapter end end |
Instance Method Details
#add_item(order_number, data = {}) ⇒ Object
44 45 46 |
# File 'lib/solidus_client/client.rb', line 44 def add_item(order_number, data = {}) post("orders/#{order_number}/line_items", data) end |
#advance_checkout(order_number) ⇒ Object
52 53 54 |
# File 'lib/solidus_client/client.rb', line 52 def advance_checkout(order_number) put("checkouts/#{order_number}/next") end |
#complete_checkout(order_number) ⇒ Object
56 57 58 |
# File 'lib/solidus_client/client.rb', line 56 def complete_checkout(order_number) put("checkouts/#{order_number}/complete") end |
#create_order(data = {}) ⇒ Object
40 41 42 |
# File 'lib/solidus_client/client.rb', line 40 def create_order(data = {}) post('orders', data) end |
#create_product(data = {}) ⇒ Object
36 37 38 |
# File 'lib/solidus_client/client.rb', line 36 def create_product(data = {}) post('products', data) end |
#enter_payment_details(order_number, data) ⇒ Object
76 77 78 |
# File 'lib/solidus_client/client.rb', line 76 def enter_payment_details(order_number, data) post("orders/#{order_number}/payments", data) end |
#payments ⇒ Object
68 69 70 |
# File 'lib/solidus_client/client.rb', line 68 def payments get('products') end |
#products ⇒ Object
32 33 34 |
# File 'lib/solidus_client/client.rb', line 32 def products get('products') end |
#remove_item(order_number, item_id) ⇒ Object
48 49 50 |
# File 'lib/solidus_client/client.rb', line 48 def remove_item(order_number, item_id) delete("orders/#{order_number}/line_items/#{item_id}") end |
#select_shipping_method(shipment_number, data) ⇒ Object
72 73 74 |
# File 'lib/solidus_client/client.rb', line 72 def select_shipping_method(shipment_number, data) put("shipments/#{shipment_number}/select_shipping_method", data) end |
#shipping_rates(shipment_number) ⇒ Object
64 65 66 |
# File 'lib/solidus_client/client.rb', line 64 def shipping_rates(shipment_number) get("shipments/#{shipment_number}/estimated_rates") end |
#shipping_zones ⇒ Object
28 29 30 |
# File 'lib/solidus_client/client.rb', line 28 def shipping_zones get('zones') end |
#states(country_id) ⇒ Object
24 25 26 |
# File 'lib/solidus_client/client.rb', line 24 def states(country_id) get("countries/#{country_id}/states") end |
#update_order(order_number, data) ⇒ Object
60 61 62 |
# File 'lib/solidus_client/client.rb', line 60 def update_order(order_number, data) patch("orders/#{order_number}", data) end |