Class: Io::Flow::V0::Clients::ShopifyCarts
- Inherits:
-
Object
- Object
- Io::Flow::V0::Clients::ShopifyCarts
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Method Summary collapse
-
#get_by_id(id, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart given the unique cart id.
-
#get_by_id_html(id, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart given the unique cart id.
-
#get_order_by_number(number, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart for the given order number.
-
#initialize(client) ⇒ ShopifyCarts
constructor
A new instance of ShopifyCarts.
-
#post_add_by_id(id, shopify_cart_add_form, incoming = {}) ⇒ Object
Add an item to a Shopify cart given the unique cart id.
-
#post_change_by_id(id, shopify_cart_change_form, incoming = {}) ⇒ Object
Change/Update an item in a Shopify cart given the unique cart id.
-
#post_clear_by_id(id) ⇒ Object
Remove all cart items given the unique cart id .
-
#post_orders_by_id(id, incoming = {}) ⇒ Object
Create an order from a Flow cart.
-
#put_attributes_by_id(id, shopify_order_attributes_form, incoming = {}) ⇒ Object
Update the attribute information for the cart.
-
#put_geo_by_id(id, geo_form, incoming = {}) ⇒ Object
Update the geo information for the cart.
Constructor Details
#initialize(client) ⇒ ShopifyCarts
Returns a new instance of ShopifyCarts.
7606 7607 7608 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7606 def initialize(client) @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client) end |
Instance Method Details
#get_by_id(id, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart given the unique cart id.
7633 7634 7635 7636 7637 7638 7639 7640 7641 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7633 def get_by_id(id, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#get_by_id_html(id, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart given the unique cart id.
7622 7623 7624 7625 7626 7627 7628 7629 7630 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7622 def get_by_id_html(id, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get r end |
#get_order_by_number(number, incoming = {}) ⇒ Object
Retrieve representation of a Shopify cart for the given order number.
7611 7612 7613 7614 7615 7616 7617 7618 7619 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7611 def get_order_by_number(number, incoming={}) HttpClient::Preconditions.assert_class('number', number, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } r = @client.request("/shopify/carts/order/#{CGI.escape(number)}").with_query(query).get ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#post_add_by_id(id, shopify_cart_add_form, incoming = {}) ⇒ Object
Add an item to a Shopify cart given the unique cart id.
7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7644 def post_add_by_id(id, shopify_cart_add_form, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } (x = shopify_cart_add_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartAddForm) ? x : ::Io::Flow::V0::Models::ShopifyCartAddForm.from_json(x)) r = @client.request("/shopify/carts/#{CGI.escape(id)}/add").with_query(query).with_json(shopify_cart_add_form.to_json).post ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#post_change_by_id(id, shopify_cart_change_form, incoming = {}) ⇒ Object
Change/Update an item in a Shopify cart given the unique cart id.
7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7668 def post_change_by_id(id, shopify_cart_change_form, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } (x = shopify_cart_change_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartChangeForm) ? x : ::Io::Flow::V0::Models::ShopifyCartChangeForm.new(x)) r = @client.request("/shopify/carts/#{CGI.escape(id)}/change").with_query(query).with_json(shopify_cart_change_form.to_json).post ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#post_clear_by_id(id) ⇒ Object
Remove all cart items given the unique cart id .
7680 7681 7682 7683 7684 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7680 def post_clear_by_id(id) HttpClient::Preconditions.assert_class('id', id, String) r = @client.request("/shopify/carts/#{CGI.escape(id)}/clear").post ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#post_orders_by_id(id, incoming = {}) ⇒ Object
Create an order from a Flow cart.
7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7699 def post_orders_by_id(id, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }), :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } r = @client.request("/shopify/carts/#{CGI.escape(id)}/orders").with_query(query).post ::Io::Flow::V0::Models::Order.new(r) end |
#put_attributes_by_id(id, shopify_order_attributes_form, incoming = {}) ⇒ Object
Update the attribute information for the cart.
7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7656 def put_attributes_by_id(id, shopify_order_attributes_form, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } (x = shopify_order_attributes_form; x.is_a?(::Io::Flow::V0::Models::ShopifyOrderAttributesForm) ? x : ::Io::Flow::V0::Models::ShopifyOrderAttributesForm.new(x)) r = @client.request("/shopify/carts/#{CGI.escape(id)}/attributes").with_query(query).with_json(shopify_order_attributes_form.to_json).put ::Io::Flow::V0::Models::ShopifyCart.new(r) end |
#put_geo_by_id(id, geo_form, incoming = {}) ⇒ Object
Update the geo information for the cart.
7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7687 def put_geo_by_id(id, geo_form, incoming={}) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } (x = geo_form; x.is_a?(::Io::Flow::V0::Models::GeoForm) ? x : ::Io::Flow::V0::Models::GeoForm.new(x)) r = @client.request("/shopify/carts/#{CGI.escape(id)}/geo").with_query(query).with_json(geo_form.to_json).put ::Io::Flow::V0::Models::ShopifyCart.new(r) end |