Class: Io::Flow::V0::Models::OrderUpserted

Inherits:
Event
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Instance Attribute Summary collapse

Attributes inherited from Event

#discriminator

Instance Method Summary collapse

Methods inherited from Event

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ OrderUpserted

Returns a new instance of OrderUpserted.



22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22160

def initialize(incoming={})
  super(:discriminator => Event::Types::ORDER_UPSERTED)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :environment, :experience_id, :expires_at, :customer, :selections, :items, :destination, :deliveries, :prices, :total], 'OrderUpserted')
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
  @environment = HttpClient::Preconditions.assert_class('environment', opts.delete(:environment), String)
  @experience_id = HttpClient::Preconditions.assert_class('experience_id', opts.delete(:experience_id), String)
  @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
  @customer = HttpClient::Preconditions.assert_class('customer', HttpClient::Helper.to_object(opts.delete(:customer)), Hash)
  @selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) }
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| HttpClient::Preconditions.assert_class('items', HttpClient::Helper.to_object(v), Hash) }
  @destination = HttpClient::Preconditions.assert_class('destination', HttpClient::Helper.to_object(opts.delete(:destination)), Hash)
  @deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| HttpClient::Preconditions.assert_class('deliveries', HttpClient::Helper.to_object(v), Hash) }
  @prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| HttpClient::Preconditions.assert_class('prices', HttpClient::Helper.to_object(v), Hash) }
  @payments = (x = opts.delete(:payments); x.nil? ? nil : HttpClient::Preconditions.assert_class('payments', x, Array).map { |v| HttpClient::Preconditions.assert_class('payments', HttpClient::Helper.to_object(v), Hash) })
  @discount = (x = opts.delete(:discount); x.nil? ? nil : HttpClient::Preconditions.assert_class('discount', HttpClient::Helper.to_object(x), Hash))
  @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : HttpClient::Preconditions.assert_class('delivered_duty', x, String))
  @total = HttpClient::Preconditions.assert_class('total', HttpClient::Helper.to_object(opts.delete(:total)), Hash)
  @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
  @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
  @submitted_at = (x = opts.delete(:submitted_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('submitted_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
  @lines = (x = opts.delete(:lines); x.nil? ? nil : HttpClient::Preconditions.assert_class('lines', x, Array).map { |v| HttpClient::Preconditions.assert_class('lines', HttpClient::Helper.to_object(v), Hash) })
  @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def attributes
  @attributes
end

#created_atObject (readonly)

Returns the value of attribute created_at.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def created_at
  @created_at
end

#customerObject (readonly)

Returns the value of attribute customer.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def customer
  @customer
end

#delivered_dutyObject (readonly)

Returns the value of attribute delivered_duty.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def delivered_duty
  @delivered_duty
end

#deliveriesObject (readonly)

Returns the value of attribute deliveries.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def deliveries
  @deliveries
end

#destinationObject (readonly)

Returns the value of attribute destination.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def destination
  @destination
end

#discountObject (readonly)

Returns the value of attribute discount.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def discount
  @discount
end

#environmentObject (readonly)

Returns the value of attribute environment.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def environment
  @environment
end

#event_idObject (readonly)

Returns the value of attribute event_id.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def event_id
  @event_id
end

#experience_idObject (readonly)

Returns the value of attribute experience_id.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def experience_id
  @experience_id
end

#expires_atObject (readonly)

Returns the value of attribute expires_at.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def expires_at
  @expires_at
end

#itemsObject (readonly)

Returns the value of attribute items.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def items
  @items
end

#linesObject (readonly)

Returns the value of attribute lines.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def lines
  @lines
end

#numberObject (readonly)

Returns the value of attribute number.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def number
  @number
end

#organizationObject (readonly)

Returns the value of attribute organization.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def organization
  @organization
end

#paymentsObject (readonly)

Returns the value of attribute payments.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def payments
  @payments
end

#pricesObject (readonly)

Returns the value of attribute prices.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def prices
  @prices
end

#selectionsObject (readonly)

Returns the value of attribute selections.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def selections
  @selections
end

#submitted_atObject (readonly)

Returns the value of attribute submitted_at.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def 
  @submitted_at
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def timestamp
  @timestamp
end

#totalObject (readonly)

Returns the value of attribute total.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def total
  @total
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



22158
22159
22160
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22158

def updated_at
  @updated_at
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22192
22193
22194
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22192

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

#subtype_to_hashObject



22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22196

def subtype_to_hash
  {
    :event_id => event_id,
    :timestamp => timestamp,
    :organization => organization,
    :number => number,
    :environment => environment,
    :experience_id => experience_id,
    :expires_at => expires_at,
    :customer => customer,
    :selections => selections,
    :items => items,
    :destination => destination,
    :deliveries => deliveries,
    :prices => prices,
    :payments => payments.nil? ? nil : payments,
    :discount => discount,
    :delivered_duty => delivered_duty,
    :total => total,
    :created_at => created_at,
    :updated_at => updated_at,
    :submitted_at => ,
    :lines => lines.nil? ? nil : lines,
    :attributes => attributes.nil? ? nil : attributes
  }
end

#to_jsonObject



22188
22189
22190
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22188

def to_json
  JSON.dump(to_hash)
end