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.



29823
29824
29825
29826
29827
29828
29829
29830
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29823

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.



29821
29822
29823
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29821

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



29821
29822
29823
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29821

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



29821
29822
29823
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29821

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



29821
29822
29823
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29821

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



29836
29837
29838
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29836

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

#to_hashObject



29840
29841
29842
29843
29844
29845
29846
29847
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29840

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

#to_jsonObject



29832
29833
29834
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29832

def to_json
  JSON.dump(to_hash)
end