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.



39079
39080
39081
39082
39083
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39079

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.



39077
39078
39079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39077

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



39077
39078
39079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39077

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



39089
39090
39091
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39089

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

#to_hashObject



39093
39094
39095
39096
39097
39098
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39093

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

#to_jsonObject



39085
39086
39087
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39085

def to_json
  JSON.dump(to_hash)
end