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.



39809
39810
39811
39812
39813
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39809

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.



39807
39808
39809
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39807

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



39807
39808
39809
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39807

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



39819
39820
39821
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39819

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

#to_hashObject



39823
39824
39825
39826
39827
39828
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39823

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

#to_jsonObject



39815
39816
39817
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39815

def to_json
  JSON.dump(to_hash)
end