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.



28501
28502
28503
28504
28505
28506
28507
28508
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28501

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.



28499
28500
28501
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28499

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



28499
28500
28501
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28499

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



28499
28500
28501
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28499

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



28499
28500
28501
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28499

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



28514
28515
28516
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28514

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

#to_hashObject



28518
28519
28520
28521
28522
28523
28524
28525
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28518

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

#to_jsonObject



28510
28511
28512
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28510

def to_json
  JSON.dump(to_hash)
end