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.



39657
39658
39659
39660
39661
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39657

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.



39655
39656
39657
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39655

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



39655
39656
39657
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39655

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



39667
39668
39669
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39667

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

#to_hashObject



39671
39672
39673
39674
39675
39676
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39671

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

#to_jsonObject



39663
39664
39665
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39663

def to_json
  JSON.dump(to_hash)
end