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.



34695
34696
34697
34698
34699
34700
34701
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34695

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.



34693
34694
34695
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34693

def checkout_url
  @checkout_url
end

#line_itemsObject (readonly)

Returns the value of attribute line_items.



34693
34694
34695
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34693

def line_items
  @line_items
end

#pricesObject (readonly)

Returns the value of attribute prices.



34693
34694
34695
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34693

def prices
  @prices
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34707
34708
34709
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34707

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

#to_hashObject



34711
34712
34713
34714
34715
34716
34717
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34711

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

#to_jsonObject



34703
34704
34705
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34703

def to_json
  JSON.dump(to_hash)
end