Module: Notifier

Extended by:
Notifier
Included in:
Notifier
Defined in:
lib/notifier.rb,
lib/notifier/gntp.rb,
lib/notifier/growl.rb,
lib/notifier/snarl.rb,
lib/notifier/kdialog.rb,
lib/notifier/knotify.rb,
lib/notifier/osd_cat.rb,
lib/notifier/placebo.rb,
lib/notifier/version.rb,
lib/notifier/notify_send.rb

Defined Under Namespace

Modules: GNTP, Growl, Kdialog, Knotify, NotifySend, OsdCat, Placebo, Snarl, Version

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.default_notifierObject

Returns the value of attribute default_notifier.



17
18
19
# File 'lib/notifier.rb', line 17

def default_notifier
  @default_notifier
end

Instance Method Details

#from_name(name) ⇒ Object



38
39
40
41
42
# File 'lib/notifier.rb', line 38

def from_name(name)
  const_get(classify(name.to_s))
rescue Exception
  nil
end

#notifierObject



20
21
22
# File 'lib/notifier.rb', line 20

def notifier
  supported_notifier_from_name(default_notifier) || supported_notifiers.first
end

#notifiersObject



28
29
30
31
32
# File 'lib/notifier.rb', line 28

def notifiers
  constants.collect do |name|
    const_get(name) unless %w[Placebo Version].include?(name.to_s)
  end.compact + [Placebo]
end

#notify(options) ⇒ Object



24
25
26
# File 'lib/notifier.rb', line 24

def notify(options)
  notifier.notify(options)
end

#supported_notifier_from_name(name) ⇒ Object



44
45
46
47
# File 'lib/notifier.rb', line 44

def supported_notifier_from_name(name)
  notifier = from_name(name)
  notifier && notifier.supported? ? notifier : nil
end

#supported_notifiersObject



34
35
36
# File 'lib/notifier.rb', line 34

def supported_notifiers
  notifiers.select {|notifier| notifier.supported?}
end