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.



31347
31348
31349
31350
31351
31352
31353
31354
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31347

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.



31345
31346
31347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31345

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



31345
31346
31347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31345

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



31345
31346
31347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31345

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



31345
31346
31347
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31345

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



31360
31361
31362
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31360

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

#to_hashObject



31364
31365
31366
31367
31368
31369
31370
31371
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31364

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

#to_jsonObject



31356
31357
31358
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31356

def to_json
  JSON.dump(to_hash)
end