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.



31477
31478
31479
31480
31481
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31477

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.



31475
31476
31477
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31475

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



31475
31476
31477
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31475

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



31487
31488
31489
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31487

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

#to_hashObject



31491
31492
31493
31494
31495
31496
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31491

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

#to_jsonObject



31483
31484
31485
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31483

def to_json
  JSON.dump(to_hash)
end