class SolidusClient::Client
Solidus API Client
entrypoint
Public Class Methods
new(url: nil, api_key: nil)
click to toggle source
# 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.authorization(: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
Public Instance Methods
add_item(order_number, data = {})
click to toggle source
# 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)
click to toggle source
# File lib/solidus_client/client.rb, line 52 def advance_checkout(order_number) put("checkouts/#{order_number}/next") end
complete_checkout(order_number)
click to toggle source
# File lib/solidus_client/client.rb, line 56 def complete_checkout(order_number) put("checkouts/#{order_number}/complete") end
create_order(data = {})
click to toggle source
# File lib/solidus_client/client.rb, line 40 def create_order(data = {}) post('orders', data) end
create_product(data = {})
click to toggle source
# File lib/solidus_client/client.rb, line 36 def create_product(data = {}) post('products', data) end
enter_payment_details(order_number, data)
click to toggle source
# File lib/solidus_client/client.rb, line 76 def enter_payment_details(order_number, data) post("orders/#{order_number}/payments", data) end
payments()
click to toggle source
# File lib/solidus_client/client.rb, line 68 def payments get('products') end
products()
click to toggle source
# File lib/solidus_client/client.rb, line 32 def products get('products') end
remove_item(order_number, item_id)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/solidus_client/client.rb, line 64 def shipping_rates(shipment_number) get("shipments/#{shipment_number}/estimated_rates") end
shipping_zones()
click to toggle source
# File lib/solidus_client/client.rb, line 28 def shipping_zones get('zones') end
states(country_id)
click to toggle source
# File lib/solidus_client/client.rb, line 24 def states(country_id) get("countries/#{country_id}/states") end
update_order(order_number, data)
click to toggle source
# File lib/solidus_client/client.rb, line 60 def update_order(order_number, data) patch("orders/#{order_number}", data) end
Private Instance Methods
delete(path)
click to toggle source
# File lib/solidus_client/client.rb, line 98 def delete(path) request(:delete, path) end
get(path)
click to toggle source
# File lib/solidus_client/client.rb, line 82 def get(path) request(:get, path) end
patch(path, data = {})
click to toggle source
# File lib/solidus_client/client.rb, line 94 def patch(path, data = {}) request(:patch, path, data) end
post(path, data = {})
click to toggle source
# File lib/solidus_client/client.rb, line 86 def post(path, data = {}) request(:post, path, data) end
put(path, data = {})
click to toggle source
# File lib/solidus_client/client.rb, line 90 def put(path, data = {}) request(:put, path, data) end
request(method, path, data = nil)
click to toggle source
# File lib/solidus_client/client.rb, line 102 def request(method, path, data = nil) @connection.send(method, path, data).body rescue Faraday::ClientError => e pp e.response[:body] raise end