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.



35294
35295
35296
35297
35298
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35294

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.



35292
35293
35294
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35292

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



35292
35293
35294
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35292

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



35304
35305
35306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35304

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

#to_hashObject



35308
35309
35310
35311
35312
35313
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35308

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

#to_jsonObject



35300
35301
35302
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35300

def to_json
  JSON.dump(to_hash)
end