Class: Io::Flow::V0::Models::EmailNotification

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

Overview

An Email Notification indicates that an email message should be delivered. The type of email depends on the data and can be found in the field data.discriminator.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ EmailNotification

Returns a new instance of EmailNotification.



30349
30350
30351
30352
30353
30354
30355
30356
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30349

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :to, :created_at, :data], 'EmailNotification')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @to = (x = opts.delete(:to); x.is_a?(::Io::Flow::V0::Models::EmailRecipient) ? x : ::Io::Flow::V0::Models::EmailRecipient.new(x))
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
  @data = (x = opts.delete(:data); x.is_a?(::Io::Flow::V0::Models::EmailNotificationData) ? x : ::Io::Flow::V0::Models::EmailNotificationData.from_json(x))
end

Instance Attribute Details

#created_atObject (readonly)

Returns the value of attribute created_at.



30347
30348
30349
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30347

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



30347
30348
30349
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30347

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



30347
30348
30349
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30347

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



30347
30348
30349
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30347

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30362
30363
30364
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30362

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

#to_hashObject



30366
30367
30368
30369
30370
30371
30372
30373
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30366

def to_hash
  {
    :id => id,
    :to => to.to_hash,
    :created_at => created_at,
    :data => data.to_hash
  }
end

#to_jsonObject



30358
30359
30360
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30358

def to_json
  JSON.dump(to_hash)
end