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.



22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22085

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.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def attributes
  @attributes
end

#created_atObject (readonly)

Returns the value of attribute created_at.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def created_at
  @created_at
end

#customerObject (readonly)

Returns the value of attribute customer.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def customer
  @customer
end

#delivered_dutyObject (readonly)

Returns the value of attribute delivered_duty.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def delivered_duty
  @delivered_duty
end

#deliveriesObject (readonly)

Returns the value of attribute deliveries.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def deliveries
  @deliveries
end

#destinationObject (readonly)

Returns the value of attribute destination.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def destination
  @destination
end

#discountObject (readonly)

Returns the value of attribute discount.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def discount
  @discount
end

#environmentObject (readonly)

Returns the value of attribute environment.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def environment
  @environment
end

#event_idObject (readonly)

Returns the value of attribute event_id.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def event_id
  @event_id
end

#experience_idObject (readonly)

Returns the value of attribute experience_id.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def experience_id
  @experience_id
end

#expires_atObject (readonly)

Returns the value of attribute expires_at.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def expires_at
  @expires_at
end

#itemsObject (readonly)

Returns the value of attribute items.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def items
  @items
end

#linesObject (readonly)

Returns the value of attribute lines.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def lines
  @lines
end

#numberObject (readonly)

Returns the value of attribute number.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def number
  @number
end

#organizationObject (readonly)

Returns the value of attribute organization.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def organization
  @organization
end

#paymentsObject (readonly)

Returns the value of attribute payments.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def payments
  @payments
end

#pricesObject (readonly)

Returns the value of attribute prices.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def prices
  @prices
end

#selectionsObject (readonly)

Returns the value of attribute selections.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def selections
  @selections
end

#submitted_atObject (readonly)

Returns the value of attribute submitted_at.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def 
  @submitted_at
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def timestamp
  @timestamp
end

#totalObject (readonly)

Returns the value of attribute total.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def total
  @total
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



22083
22084
22085
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22083

def updated_at
  @updated_at
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22117
22118
22119
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22117

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

#subtype_to_hashObject



22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22121

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



22113
22114
22115
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22113

def to_json
  JSON.dump(to_hash)
end