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.



31023
31024
31025
31026
31027
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31023

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.



31021
31022
31023
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31021

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



31021
31022
31023
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31021

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



31033
31034
31035
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31033

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

#to_hashObject



31037
31038
31039
31040
31041
31042
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31037

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

#to_jsonObject



31029
31030
31031
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31029

def to_json
  JSON.dump(to_hash)
end