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.



29717
29718
29719
29720
29721
29722
29723
29724
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29717

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.



29715
29716
29717
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29715

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



29715
29716
29717
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29715

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



29715
29716
29717
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29715

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



29715
29716
29717
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29715

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



29730
29731
29732
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29730

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

#to_hashObject



29734
29735
29736
29737
29738
29739
29740
29741
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29734

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

#to_jsonObject



29726
29727
29728
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 29726

def to_json
  JSON.dump(to_hash)
end