Class: Kim::EmailDevice

Inherits:
Object
  • Object
show all
Defined in:
lib/kim-logger/email_device.rb

Constant Summary collapse

@@settings =

DEFAULTS

{ 
  :from => 'logger@localhost',
  :subject => 'Email Log',
  :host => 'localhost',
  :port => 25
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(email, settings = {}) ⇒ EmailDevice

Returns a new instance of EmailDevice.



13
14
15
16
# File 'lib/kim-logger/email_device.rb', line 13

def initialize email, settings = {}
  self.email = email
  self.settings = settings
end

Instance Attribute Details

#emailObject

Returns the value of attribute email.



3
4
5
# File 'lib/kim-logger/email_device.rb', line 3

def email
  @email
end

#settingsObject

Returns the value of attribute settings.



3
4
5
# File 'lib/kim-logger/email_device.rb', line 3

def settings
  @settings
end

Class Method Details

.settingsObject



26
27
28
# File 'lib/kim-logger/email_device.rb', line 26

def self.settings
  @@settings
end

.settings=(value) ⇒ Object



30
31
32
# File 'lib/kim-logger/email_device.rb', line 30

def self.settings= value
  @@settings = value
end

Instance Method Details

#closeObject



22
23
24
# File 'lib/kim-logger/email_device.rb', line 22

def close
  # Do nothing
end

#effective_settingsObject



34
35
36
# File 'lib/kim-logger/email_device.rb', line 34

def effective_settings
  @@settings.deep_merge self.settings
end

#write(message) ⇒ Object



18
19
20
# File 'lib/kim-logger/email_device.rb', line 18

def write message
  send_email effective_settings[:from], self.email, message
end