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.



30403
30404
30405
30406
30407
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30403

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.



30401
30402
30403
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30401

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



30401
30402
30403
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30401

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30413
30414
30415
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30413

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

#to_hashObject



30417
30418
30419
30420
30421
30422
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30417

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

#to_jsonObject



30409
30410
30411
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30409

def to_json
  JSON.dump(to_hash)
end