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.



24561
24562
24563
24564
24565
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24561

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.



24559
24560
24561
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24559

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



24559
24560
24561
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24559

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24571
24572
24573
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24571

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

#to_hashObject



24575
24576
24577
24578
24579
24580
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24575

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

#to_jsonObject



24567
24568
24569
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24567

def to_json
  JSON.dump(to_hash)
end