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.



21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21405

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.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def attributes
  @attributes
end

#created_atObject (readonly)

Returns the value of attribute created_at.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def created_at
  @created_at
end

#customerObject (readonly)

Returns the value of attribute customer.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def customer
  @customer
end

#delivered_dutyObject (readonly)

Returns the value of attribute delivered_duty.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def delivered_duty
  @delivered_duty
end

#deliveriesObject (readonly)

Returns the value of attribute deliveries.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def deliveries
  @deliveries
end

#destinationObject (readonly)

Returns the value of attribute destination.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def destination
  @destination
end

#discountObject (readonly)

Returns the value of attribute discount.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def discount
  @discount
end

#environmentObject (readonly)

Returns the value of attribute environment.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def environment
  @environment
end

#event_idObject (readonly)

Returns the value of attribute event_id.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def event_id
  @event_id
end

#experience_idObject (readonly)

Returns the value of attribute experience_id.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def experience_id
  @experience_id
end

#expires_atObject (readonly)

Returns the value of attribute expires_at.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def expires_at
  @expires_at
end

#itemsObject (readonly)

Returns the value of attribute items.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def items
  @items
end

#linesObject (readonly)

Returns the value of attribute lines.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def lines
  @lines
end

#numberObject (readonly)

Returns the value of attribute number.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def number
  @number
end

#organizationObject (readonly)

Returns the value of attribute organization.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def organization
  @organization
end

#paymentsObject (readonly)

Returns the value of attribute payments.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def payments
  @payments
end

#pricesObject (readonly)

Returns the value of attribute prices.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def prices
  @prices
end

#selectionsObject (readonly)

Returns the value of attribute selections.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def selections
  @selections
end

#submitted_atObject (readonly)

Returns the value of attribute submitted_at.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def 
  @submitted_at
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def timestamp
  @timestamp
end

#totalObject (readonly)

Returns the value of attribute total.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def total
  @total
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



21403
21404
21405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21403

def updated_at
  @updated_at
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21437
21438
21439
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21437

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

#subtype_to_hashObject



21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21441

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



21433
21434
21435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21433

def to_json
  JSON.dump(to_hash)
end