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.



24966
24967
24968
24969
24970
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24966

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.



24964
24965
24966
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24964

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



24964
24965
24966
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24964

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24976
24977
24978
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24976

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

#to_hashObject



24980
24981
24982
24983
24984
24985
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24980

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

#to_jsonObject



24972
24973
24974
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24972

def to_json
  JSON.dump(to_hash)
end