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.



28779
28780
28781
28782
28783
28784
28785
28786
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28779

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.



28777
28778
28779
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28777

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



28777
28778
28779
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28777

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



28777
28778
28779
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28777

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



28777
28778
28779
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28777

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



28792
28793
28794
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28792

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

#to_hashObject



28796
28797
28798
28799
28800
28801
28802
28803
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28796

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

#to_jsonObject



28788
28789
28790
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28788

def to_json
  JSON.dump(to_hash)
end