Class: Io::Flow::V0::Models::OrderBuilder

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

Overview

The Order Builder model is used to incrementally build up an order until it is complete and can be submitted.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ OrderBuilder

Returns a new instance of OrderBuilder.



25343
25344
25345
25346
25347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25343

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Order) ? x : ::Io::Flow::V0::Models::Order.new(x)))
  @errors = (x = opts.delete(:errors); x.nil? ? nil : HttpClient::Preconditions.assert_class('errors', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderError) ? x : ::Io::Flow::V0::Models::OrderError.new(x)) })
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



25341
25342
25343
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25341

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



25341
25342
25343
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25341

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



25353
25354
25355
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25353

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

#to_hashObject



25357
25358
25359
25360
25361
25362
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25357

def to_hash
  {
    :order => order.nil? ? nil : order.to_hash,
    :errors => errors.nil? ? nil : errors.map { |o| o.to_hash }
  }
end

#to_jsonObject



25349
25350
25351
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25349

def to_json
  JSON.dump(to_hash)
end