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.



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

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.



39660
39661
39662
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39660

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



39660
39661
39662
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39660

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



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

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

#to_hashObject



39676
39677
39678
39679
39680
39681
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 39676

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

#to_jsonObject



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

def to_json
  JSON.dump(to_hash)
end