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.



35773
35774
35775
35776
35777
35778
35779
35780
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35773

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.



35771
35772
35773
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35771

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



35771
35772
35773
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35771

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



35771
35772
35773
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35771

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



35771
35772
35773
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35771

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



35786
35787
35788
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35786

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

#to_hashObject



35790
35791
35792
35793
35794
35795
35796
35797
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35790

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

#to_jsonObject



35782
35783
35784
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35782

def to_json
  JSON.dump(to_hash)
end