dohruby 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/doh/app/activate_logger.rb +4 -4
- data/lib/doh/app/options.rb +8 -1
- data/lib/doh/logger/email_acceptor.rb +2 -1
- data/lib/doh/util/email.rb +2 -1
- data/test/logger/sample.rb +2 -2
- metadata +3 -3
@@ -60,9 +60,9 @@ def self.activate_logger
|
|
60
60
|
acceptor_cfg = logger_cfg['notify_acceptor']
|
61
61
|
require 'doh/logger/email_acceptor'
|
62
62
|
mail_server = root_cfg['mail_server'] || 'mail.' + get_required_config_value('domain_name', 'mail_server or domain_name required for mail server')
|
63
|
-
from_address = acceptor_cfg['from_address'] || 'notify@' + get_required_config_value('domain_name', 'from_address or domain_name required for notification email address')
|
63
|
+
from_address = root_cfg['smtp_from'] || acceptor_cfg['from_address'] || 'notify@' + get_required_config_value('domain_name', 'from_address or domain_name required for notification email address')
|
64
64
|
to_address_list = acceptor_cfg['to_address_list'] || ['root@localhost']
|
65
|
-
notify_acceptor = DohLogger::EmailAcceptor.new(mail_server, from_address, to_address_list, logfile_name, nil, DohLogger::exceptionless_email_format)
|
65
|
+
notify_acceptor = DohLogger::EmailAcceptor.new(mail_server, root_cfg['smtp_port'], from_address, to_address_list, logfile_name, nil, DohLogger::exceptionless_email_format)
|
66
66
|
Doh::log.add_acceptor(DohLogger::NOTIFY, notify_acceptor, true, acceptor_cfg['locations_to_exclude'], acceptor_cfg['include_only_locations'])
|
67
67
|
end
|
68
68
|
|
@@ -70,9 +70,9 @@ def self.activate_logger
|
|
70
70
|
acceptor_cfg = logger_cfg['error_acceptor']
|
71
71
|
require 'doh/logger/email_acceptor'
|
72
72
|
mail_server = root_cfg['mail_server'] || 'mail.' + get_required_config_value('domain_name', 'mail_server or domain_name required for mail server')
|
73
|
-
from_address = acceptor_cfg['from_address'] || 'error@' + get_required_config_value('domain_name', 'from_address or domain_name required for notification email address')
|
73
|
+
from_address = root_cfg['smtp_from'] || acceptor_cfg['from_address'] || 'error@' + get_required_config_value('domain_name', 'from_address or domain_name required for notification email address')
|
74
74
|
to_address_list = acceptor_cfg['to_address_list'] || ['root@localhost']
|
75
|
-
error_acceptor = DohLogger::EmailAcceptor.new(mail_server, from_address, to_address_list, logfile_name)
|
75
|
+
error_acceptor = DohLogger::EmailAcceptor.new(mail_server, root_cfg['smtp_port'], from_address, to_address_list, logfile_name)
|
76
76
|
Doh::log.add_acceptor(DohLogger::ERROR, error_acceptor, nil, acceptor_cfg['locations_to_exclude'], acceptor_cfg['include_only_locations'])
|
77
77
|
end
|
78
78
|
end
|
data/lib/doh/app/options.rb
CHANGED
@@ -16,7 +16,7 @@ class Options
|
|
16
16
|
# set allow_unknown_options to true to allow for filename specification, etc..
|
17
17
|
# if the default value is :required for a field, then if that field isn't
|
18
18
|
# specified, an exception will be raised
|
19
|
-
def initialize(param_definition_hash_or_array, allow_unknown_options = false, explanation_text = '', unknown_options_name = 'file')
|
19
|
+
def initialize(param_definition_hash_or_array, allow_unknown_options = false, explanation_text = '', unknown_options_name = 'file', allow_no_prefix = false)
|
20
20
|
@vals = OpenStruct.new
|
21
21
|
|
22
22
|
@opts = OptionParser.new
|
@@ -37,6 +37,13 @@ class Options
|
|
37
37
|
param_definition_hash = param_definition_hash_or_array
|
38
38
|
end
|
39
39
|
|
40
|
+
param_definition_array.each do |elem|
|
41
|
+
keyname = elem.to_a[0][1][2]
|
42
|
+
if keyname =~ /^--no-/
|
43
|
+
raise "key name: #{keyname} will not behave as desired if meant to be a boolean, rename it, or pass in allow_no_prefix flag as 5th param"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
40
47
|
param_definition_array.each do |elem|
|
41
48
|
key = elem.to_a[0][0]
|
42
49
|
val = elem.to_a[0][1]
|
@@ -12,8 +12,9 @@ def self.exceptionless_email_format
|
|
12
12
|
end
|
13
13
|
|
14
14
|
class EmailAcceptor
|
15
|
-
def initialize(smtp_server, from_address, to_addresses, logfile_name, subject_format = nil, body_format = DohLogger::exception_email_format)
|
15
|
+
def initialize(smtp_server, smtp_port, from_address, to_addresses, logfile_name, subject_format = nil, body_format = DohLogger::exception_email_format)
|
16
16
|
@smtp_server = smtp_server
|
17
|
+
@smtp_port = smtp_port || 25
|
17
18
|
@from_address = from_address
|
18
19
|
@to_addresses = to_addresses
|
19
20
|
@logfile_name = logfile_name
|
data/lib/doh/util/email.rb
CHANGED
@@ -3,10 +3,11 @@ module DohEmail
|
|
3
3
|
|
4
4
|
@@mail_server = DohApp::config['mail_server'] || 'mail.' + DohApp::get_required_config_value('domain_name', 'mail_server or domain_name required for mail server')
|
5
5
|
@@from_address = DohApp::config['from_address'] || 'admin@' + DohApp::get_required_config_value('domain_name', 'from_address or domain_name required for notification email address')
|
6
|
+
@@smtp_port = DohApp::config['smtp_port'] || 25
|
6
7
|
|
7
8
|
def self.send_email(subject, body, recipients, from_address = @@from_address)
|
8
9
|
msg = "Subject:#{subject}\nFrom:#{from_address}\nTo:#{recipients.join(', ')}\nContent-Type: text/plain\n\n#{body}"
|
9
|
-
Net::SMTP.start(@@mail_server) do |smtp|
|
10
|
+
Net::SMTP.start(@@mail_server, @@smtp_port) do |smtp|
|
10
11
|
begin
|
11
12
|
smtp.send_message(msg, from_address, recipients)
|
12
13
|
rescue Exception => excpt
|
data/test/logger/sample.rb
CHANGED
@@ -5,8 +5,8 @@ scheduler = DohLogger::DirectScheduler.new
|
|
5
5
|
console_acceptor = DohLogger::IOStreamAcceptor.new
|
6
6
|
logfile_name = "logger_sample_app.log"
|
7
7
|
file_acceptor = DohLogger::IOStreamAcceptor.new(File.new(logfile_name, "wb"))
|
8
|
-
error_acceptor = DohLogger::EmailAcceptor.new('localhost', 'from@somebody.com', ['bulbous@gmail.com'], logfile_name)
|
9
|
-
notify_acceptor = DohLogger::EmailAcceptor.new('localhost', 'from@somebody.com', ['bulbous@gmail.com'], logfile_name, nil, DohLogger::exceptionless_email_format)
|
8
|
+
error_acceptor = DohLogger::EmailAcceptor.new('localhost', 25, 'from@somebody.com', ['bulbous@gmail.com'], logfile_name)
|
9
|
+
notify_acceptor = DohLogger::EmailAcceptor.new('localhost', 25, 'from@somebody.com', ['bulbous@gmail.com'], logfile_name, nil, DohLogger::exceptionless_email_format)
|
10
10
|
intrfc = DohLogger::StandardInterface.new(scheduler)
|
11
11
|
intrfc.add_acceptor(DohLogger::DEBUG, console_acceptor)
|
12
12
|
intrfc.add_acceptor(DohLogger::ERROR, error_acceptor)
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 3
|
9
|
+
version: 0.3.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Makani & Kem Mason
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-07-01 00:00:00 +12:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|