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.



37558
37559
37560
37561
37562
37563
37564
37565
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37558

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.



37556
37557
37558
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37556

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



37556
37557
37558
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37556

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



37556
37557
37558
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37556

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



37556
37557
37558
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37556

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



37571
37572
37573
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37571

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

#to_hashObject



37575
37576
37577
37578
37579
37580
37581
37582
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37575

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

#to_jsonObject



37567
37568
37569
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37567

def to_json
  JSON.dump(to_hash)
end