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.



36273
36274
36275
36276
36277
36278
36279
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36273

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.



36271
36272
36273
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36271

def checkout_url
  @checkout_url
end

#line_itemsObject (readonly)

Returns the value of attribute line_items.



36271
36272
36273
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36271

def line_items
  @line_items
end

#pricesObject (readonly)

Returns the value of attribute prices.



36271
36272
36273
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36271

def prices
  @prices
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36285
36286
36287
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36285

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

#to_hashObject



36289
36290
36291
36292
36293
36294
36295
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36289

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

#to_jsonObject



36281
36282
36283
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36281

def to_json
  JSON.dump(to_hash)
end