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.



30354
30355
30356
30357
30358
30359
30360
30361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30354

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.



30352
30353
30354
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30352

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



30352
30353
30354
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30352

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



30352
30353
30354
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30352

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



30352
30353
30354
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30352

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30367
30368
30369
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30367

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

#to_hashObject



30371
30372
30373
30374
30375
30376
30377
30378
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30371

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

#to_jsonObject



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

def to_json
  JSON.dump(to_hash)
end