Module: Notifies
- Defined in:
- lib/notifies.rb,
lib/notifies/growl.rb,
lib/notifies/notification_center.rb
Defined Under Namespace
Classes: Error, Growl, NotificationCenter, UnknownNotifierError
Constant Summary
collapse
- VERSION =
'0.1.0'
- NOTIFIERS =
{}
- @@enabled =
true
Class Method Summary
collapse
Class Method Details
.enabled=(enabled) ⇒ Object
55
56
57
|
# File 'lib/notifies.rb', line 55
def self.enabled= enabled
@@enabled = !!enabled
end
|
.enabled? ⇒ Boolean
59
60
61
|
# File 'lib/notifies.rb', line 59
def self.enabled?
@@enabled
end
|
.notifier(*args) ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/notifies.rb', line 32
def self.notifier *args
options = args.last.kind_of?(Hash) ? args.pop : {}
if key = args.shift
raise UnknownNotifierError.new(key.inspect) unless n = NOTIFIERS[key]
return !options[:available] || n && n.available? ? n : nil
end
ordered_notifiers(options).each_pair do |key,notifier|
return notifier if notifier.available?
end
nil
end
|
.notify(msg, options = {}) ⇒ Object
16
17
18
19
20
|
# File 'lib/notifies.rb', line 16
def self.notify msg, options = {}
return false if !@@enabled or (options.key?(:enabled) and !options[:enabled])
n = notifier options
n ? n.notify(msg, options) : nil
end
|
.prefer(*keys) ⇒ Object
51
52
53
|
# File 'lib/notifies.rb', line 51
def self.prefer *keys
NOTIFIERS.replace(ordered_notifiers(preferred: keys.flatten)).keys
end
|
.preferred ⇒ Object
47
48
49
|
# File 'lib/notifies.rb', line 47
def self.preferred
NOTIFIERS.keys
end
|
.register(key, notifier) ⇒ Object
63
64
65
66
|
# File 'lib/notifies.rb', line 63
def self.register key, notifier
NOTIFIERS[key] = notifier
end
|
.register_defaults ⇒ Object
68
69
70
71
|
# File 'lib/notifies.rb', line 68
def self.register_defaults
register :notification_center, Notifies::NotificationCenter
register :growl, Notifies::Growl
end
|