dohruby 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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
@@ -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
@@ -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
- - 2
9
- version: 0.3.2
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-06-16 00:00:00 +12:00
17
+ date: 2010-07-01 00:00:00 +12:00
18
18
  default_executable:
19
19
  dependencies: []
20
20