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.



37274
37275
37276
37277
37278
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37274

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.



37272
37273
37274
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37272

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



37272
37273
37274
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37272

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



37284
37285
37286
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37284

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

#to_hashObject



37288
37289
37290
37291
37292
37293
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37288

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

#to_jsonObject



37280
37281
37282
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37280

def to_json
  JSON.dump(to_hash)
end