Class: CollinsNotify::Application
- Inherits:
-
Object
- Object
- CollinsNotify::Application
- Includes:
- Collins::Util::Logging, ConfigurationMixin
- Defined in:
- lib/collins_notify/application.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
Override ConfigMixin::#config.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
- #configure!(argv) ⇒ Object
-
#initialize(lgr = nil) ⇒ Application
constructor
A new instance of Application.
- #notify!(message_obj = OpenStruct.new, to = nil) ⇒ Object
-
#valid? ⇒ Boolean
Override ConfigurationMixin#valid?.
Methods included from ConfigurationMixin
#debug?, #error?, #fatal?, #info?, #method_missing, #sevname, #test?, #to_hash, #trace?, #warn?
Constructor Details
#initialize(lgr = nil) ⇒ Application
Returns a new instance of Application.
9 10 11 12 13 14 15 16 |
# File 'lib/collins_notify/application.rb', line 9 def initialize lgr = nil if lgr.nil? then @logger = get_logger :logfile => $stderr, :program => 'collins_notify' else @logger = lgr end @config = CollinsNotify::Configuration.new @logger end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class CollinsNotify::ConfigurationMixin
Instance Attribute Details
#config ⇒ Object
Override ConfigMixin::#config
19 20 21 |
# File 'lib/collins_notify/application.rb', line 19 def config @config end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
7 8 9 |
# File 'lib/collins_notify/application.rb', line 7 def logger @logger end |
Instance Method Details
#configure!(argv) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/collins_notify/application.rb', line 23 def configure! argv o = CollinsNotify::Options.get_instance config o.parse! argv if config.logfile then @logger = get_logger :logfile => config.logfile, :program => 'collins_notify' end @logger.level = config.severity end |
#notify!(message_obj = OpenStruct.new, to = nil) ⇒ Object
32 33 34 35 36 |
# File 'lib/collins_notify/application.rb', line 32 def notify! = OpenStruct.new, to = nil Timeout::timeout(config.timeout) do notifier.notify! , to end end |
#valid? ⇒ Boolean
Override ConfigurationMixin#valid?
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/collins_notify/application.rb', line 39 def valid? if config.valid? then begin @notifier = CollinsNotify::Notifier.get_adapter self @notifier.configure! rescue Exception => e logger.error "Error configuring #{type} notification - #{e}" pp e.backtrace return false end true else false end end |