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.



31048
31049
31050
31051
31052
31053
31054
31055
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31048

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.



31046
31047
31048
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31046

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



31046
31047
31048
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31046

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



31046
31047
31048
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31046

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



31046
31047
31048
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31046

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



31061
31062
31063
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31061

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

#to_hashObject



31065
31066
31067
31068
31069
31070
31071
31072
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31065

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

#to_jsonObject



31057
31058
31059
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31057

def to_json
  JSON.dump(to_hash)
end