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.



40395
40396
40397
40398
40399
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40395

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.



40393
40394
40395
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40393

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



40393
40394
40395
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40393

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



40405
40406
40407
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40405

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

#to_hashObject



40409
40410
40411
40412
40413
40414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40409

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

#to_jsonObject



40401
40402
40403
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40401

def to_json
  JSON.dump(to_hash)
end