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.



51339
51340
51341
51342
51343
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51339

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.



51337
51338
51339
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51337

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



51337
51338
51339
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51337

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



51349
51350
51351
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51349

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

#to_hashObject



51353
51354
51355
51356
51357
51358
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51353

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

#to_jsonObject



51345
51346
51347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 51345

def to_json
  JSON.dump(to_hash)
end