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.



29247
29248
29249
29250
29251
29252
29253
29254
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29247

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.



29245
29246
29247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29245

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



29245
29246
29247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29245

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



29245
29246
29247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29245

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



29245
29246
29247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29245

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



29260
29261
29262
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29260

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

#to_hashObject



29264
29265
29266
29267
29268
29269
29270
29271
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29264

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

#to_jsonObject



29256
29257
29258
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29256

def to_json
  JSON.dump(to_hash)
end