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.



47854
47855
47856
47857
47858
47859
47860
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47854

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.



47852
47853
47854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47852

def checkout_url
  @checkout_url
end

#line_itemsObject (readonly)

Returns the value of attribute line_items.



47852
47853
47854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47852

def line_items
  @line_items
end

#pricesObject (readonly)

Returns the value of attribute prices.



47852
47853
47854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47852

def prices
  @prices
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



47866
47867
47868
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47866

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

#to_hashObject



47870
47871
47872
47873
47874
47875
47876
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47870

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

#to_jsonObject



47862
47863
47864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47862

def to_json
  JSON.dump(to_hash)
end