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.



30497
30498
30499
30500
30501
30502
30503
30504
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30497

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.



30495
30496
30497
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30495

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



30495
30496
30497
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30495

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



30495
30496
30497
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30495

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



30495
30496
30497
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30495

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30510
30511
30512
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30510

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

#to_hashObject



30514
30515
30516
30517
30518
30519
30520
30521
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30514

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

#to_jsonObject



30506
30507
30508
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30506

def to_json
  JSON.dump(to_hash)
end