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.



22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22140

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.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def attributes
  @attributes
end

#created_atObject (readonly)

Returns the value of attribute created_at.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def created_at
  @created_at
end

#customerObject (readonly)

Returns the value of attribute customer.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def customer
  @customer
end

#delivered_dutyObject (readonly)

Returns the value of attribute delivered_duty.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def delivered_duty
  @delivered_duty
end

#deliveriesObject (readonly)

Returns the value of attribute deliveries.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def deliveries
  @deliveries
end

#destinationObject (readonly)

Returns the value of attribute destination.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def destination
  @destination
end

#discountObject (readonly)

Returns the value of attribute discount.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def discount
  @discount
end

#environmentObject (readonly)

Returns the value of attribute environment.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def environment
  @environment
end

#event_idObject (readonly)

Returns the value of attribute event_id.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def event_id
  @event_id
end

#experience_idObject (readonly)

Returns the value of attribute experience_id.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def experience_id
  @experience_id
end

#expires_atObject (readonly)

Returns the value of attribute expires_at.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def expires_at
  @expires_at
end

#itemsObject (readonly)

Returns the value of attribute items.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def items
  @items
end

#linesObject (readonly)

Returns the value of attribute lines.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def lines
  @lines
end

#numberObject (readonly)

Returns the value of attribute number.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def number
  @number
end

#organizationObject (readonly)

Returns the value of attribute organization.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def organization
  @organization
end

#paymentsObject (readonly)

Returns the value of attribute payments.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def payments
  @payments
end

#pricesObject (readonly)

Returns the value of attribute prices.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def prices
  @prices
end

#selectionsObject (readonly)

Returns the value of attribute selections.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def selections
  @selections
end

#submitted_atObject (readonly)

Returns the value of attribute submitted_at.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def 
  @submitted_at
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def timestamp
  @timestamp
end

#totalObject (readonly)

Returns the value of attribute total.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def total
  @total
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



22138
22139
22140
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22138

def updated_at
  @updated_at
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22172
22173
22174
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22172

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

#subtype_to_hashObject



22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22176

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



22168
22169
22170
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22168

def to_json
  JSON.dump(to_hash)
end