Class: Emailvision4rails::Message

Inherits:
Base
  • Object
show all
Defined in:
lib/emailvision4rails/models/message.rb

Instance Method Summary collapse

Methods inherited from Base

attributes, #attributes, #to_emv

Constructor Details

#initialize(body = "", payload = {}) ⇒ Message

Validate format of email address



34
35
36
37
38
39
# File 'lib/emailvision4rails/models/message.rb', line 34

def initialize(body = "", payload = {})
  self.body = body
  payload.each do |attr, val|
    send("#{attr}=", val) if attributes.has_key?(attr.to_s)
  end
end

Instance Method Details

#createObject



41
42
43
44
45
46
47
48
49
50
# File 'lib/emailvision4rails/models/message.rb', line 41

def create
  if valid?
    run_callbacks :create do
      self.id = api.post.message.create(:body => {:message => self.to_emv}).call
    end
    true
  else
    false
  end
end

#mirror_url_idObject

Maybe in a helper?



63
64
65
# File 'lib/emailvision4rails/models/message.rb', line 63

def mirror_url_id
  @mirror_url_id ||= api.get.url.create_and_add_mirror_url(uri: [message_id, 'mirror_url']).call
end

#persisted?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/emailvision4rails/models/message.rb', line 71

def persisted?
  message_id.present?
end


67
68
69
# File 'lib/emailvision4rails/models/message.rb', line 67

def track_links
  emv.get.message.track_all_links(id: message_id).call
end

#updateObject



52
53
54
55
56
57
58
59
60
# File 'lib/emailvision4rails/models/message.rb', line 52

def update
  if valid? and persisted?
    run_callbacks :update do
      api.post.message.create(:body => self.to_emv).call
    end     
  else
    false
  end
end