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.



40777
40778
40779
40780
40781
40782
40783
40784
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40777

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.



40775
40776
40777
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40775

def created_at
  @created_at
end

#dataObject (readonly)

Returns the value of attribute data.



40775
40776
40777
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40775

def data
  @data
end

#idObject (readonly)

Returns the value of attribute id.



40775
40776
40777
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40775

def id
  @id
end

#toObject (readonly)

Returns the value of attribute to.



40775
40776
40777
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40775

def to
  @to
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



40790
40791
40792
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40790

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

#to_hashObject



40794
40795
40796
40797
40798
40799
40800
40801
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40794

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

#to_jsonObject



40786
40787
40788
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40786

def to_json
  JSON.dump(to_hash)
end