Class: Io::Flow::V0::Clients::ShopifyCarts

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ShopifyCarts

Returns a new instance of ShopifyCarts.



8331
8332
8333
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8331

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.



8358
8359
8360
8361
8362
8363
8364
8365
8366
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8358

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.



8347
8348
8349
8350
8351
8352
8353
8354
8355
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8347

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.



8336
8337
8338
8339
8340
8341
8342
8343
8344
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8336

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.



8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8369

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.



8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8393

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 .



8405
8406
8407
8408
8409
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8405

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.



8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8424

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.



8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8381

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.



8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 8412

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