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.



24055
24056
24057
24058
24059
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24055

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.



24053
24054
24055
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24053

def errors
  @errors
end

#orderObject (readonly)

Returns the value of attribute order.



24053
24054
24055
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24053

def order
  @order
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24065
24066
24067
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24065

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

#to_hashObject



24069
24070
24071
24072
24073
24074
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24069

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

#to_jsonObject



24061
24062
24063
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24061

def to_json
  JSON.dump(to_hash)
end