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.



29629
29630
29631
29632
29633
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29629

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.



29627
29628
29629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29627

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



29627
29628
29629
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29627

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



29639
29640
29641
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29639

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

#to_hashObject



29643
29644
29645
29646
29647
29648
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29643

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

#to_jsonObject



29635
29636
29637
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29635

def to_json
  JSON.dump(to_hash)
end