Class: Io::Flow::V0::Models::KlaviyoOrderContent

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ KlaviyoOrderContent

Returns a new instance of KlaviyoOrderContent.



36897
36898
36899
36900
36901
36902
36903
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36897

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:line_items, :prices, :checkout_url], 'KlaviyoOrderContent')
  @line_items = HttpClient::Preconditions.assert_class('line_items', opts.delete(:line_items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::KlaviyoLineItem) ? x : ::Io::Flow::V0::Models::KlaviyoLineItem.new(x)) }
  @prices = (x = opts.delete(:prices); x.is_a?(::Io::Flow::V0::Models::KlaviyoOrderPrices) ? x : ::Io::Flow::V0::Models::KlaviyoOrderPrices.new(x))
  @checkout_url = HttpClient::Preconditions.assert_class('checkout_url', opts.delete(:checkout_url), String)
end

Instance Attribute Details

#checkout_urlObject (readonly)

Returns the value of attribute checkout_url.



36895
36896
36897
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36895

def checkout_url
  @checkout_url
end

#line_itemsObject (readonly)

Returns the value of attribute line_items.



36895
36896
36897
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36895

def line_items
  @line_items
end

#pricesObject (readonly)

Returns the value of attribute prices.



36895
36896
36897
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36895

def prices
  @prices
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36909
36910
36911
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36909

def copy(incoming={})
  KlaviyoOrderContent.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



36913
36914
36915
36916
36917
36918
36919
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36913

def to_hash
  {
    :line_items => line_items.map { |o| o.to_hash },
    :prices => prices.to_hash,
    :checkout_url => checkout_url
  }
end

#to_jsonObject



36905
36906
36907
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36905

def to_json
  JSON.dump(to_hash)
end