blertr 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/blertr +30 -2
- data/lib/blertr/growl_notifier.rb +3 -2
- data/lib/blertr/mail_notifier.rb +3 -0
- data/lib/blertr/notifier.rb +3 -1
- data/lib/blertr/notify_send_notifier.rb +3 -2
- data/lib/blertr/twitter_notifier.rb +5 -1
- data/lib/blertr/version.rb +1 -1
- metadata +11 -11
data/bin/blertr
CHANGED
@@ -30,6 +30,10 @@ Commands:
|
|
30
30
|
information it is using to send notifications
|
31
31
|
Example: blertr info email
|
32
32
|
|
33
|
+
status For each notifier, Blertr lists if it currently can
|
34
|
+
send notifications and then lists any error messages
|
35
|
+
if it cannot. Useful for debuggin problems with notifiers
|
36
|
+
|
33
37
|
exclude Pass in a shell command to prevent Blertr from
|
34
38
|
sending notifications when that command is
|
35
39
|
executed
|
@@ -71,9 +75,33 @@ def take_action action, parameters
|
|
71
75
|
puts "ERROR: it doesn't look like Blertr is installed"
|
72
76
|
end
|
73
77
|
when "info"
|
74
|
-
|
78
|
+
raw_name = parameters.shift
|
79
|
+
if Blertr::Control::is_notifier? raw_name
|
80
|
+
name = Blertr::Control::notifier_with_name(raw_name).name
|
81
|
+
info_hash = Blertr::Options.options_for name
|
82
|
+
puts "Configuration for: #{name}"
|
83
|
+
if info_hash.empty?
|
84
|
+
puts "No configuration file for #{name} or config file is empty"
|
85
|
+
else
|
86
|
+
info_hash.each do |key,value|
|
87
|
+
puts "#{key}: #{value}"
|
88
|
+
end
|
89
|
+
end
|
90
|
+
else
|
91
|
+
if !raw_name or (raw_name and raw_name.empty?)
|
92
|
+
puts "info requires the name of a notifier"
|
93
|
+
else
|
94
|
+
puts "Sorry, #{raw_name} is not a notifier"
|
95
|
+
end
|
96
|
+
end
|
75
97
|
when "status"
|
76
|
-
|
98
|
+
Blertr::Control::notifiers.each do |notifier|
|
99
|
+
notify_message = notifier.can_alert? ? "can alert" : "cannot alert"
|
100
|
+
puts "#{notifier.name}: #{notify_message}"
|
101
|
+
if !notifier.error_messages.empty?
|
102
|
+
notifier.error_messages.each {|err| puts " #{err}"}
|
103
|
+
end
|
104
|
+
end
|
77
105
|
when "exclude"
|
78
106
|
name = parameters.join(" ")
|
79
107
|
puts "Excluding #{name} from Blertr alerts"
|
@@ -8,12 +8,13 @@ module Blertr
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def alert message
|
11
|
-
#TODO: look to supporting other growl frameworks on other OSs
|
12
11
|
system("growlnotify -n \"Terminal\" -m \"took #{message.time_string}\" \"#{message.command}\"")
|
13
12
|
end
|
14
13
|
|
15
14
|
def can_alert?
|
16
|
-
system("which growlnotify > /dev/null 2>&1")
|
15
|
+
rtn = system("which growlnotify > /dev/null 2>&1")
|
16
|
+
error_messages << "growlnotify not availible from $PATH" unless rtn
|
17
|
+
rtn
|
17
18
|
end
|
18
19
|
end
|
19
20
|
end
|
data/lib/blertr/mail_notifier.rb
CHANGED
@@ -29,8 +29,11 @@ module Blertr
|
|
29
29
|
def can_alert?
|
30
30
|
rtn = true
|
31
31
|
rtn &= options[:username]
|
32
|
+
error_messages << "No :username option in config file" if !options[:username]
|
32
33
|
rtn &= options[:password]
|
34
|
+
error_messages << "No :password option in config file" if !options[:password]
|
33
35
|
rtn &= options[:to]
|
36
|
+
error_messages << "No :to option in config file" if !options[:to]
|
34
37
|
rtn
|
35
38
|
end
|
36
39
|
end
|
data/lib/blertr/notifier.rb
CHANGED
@@ -3,9 +3,10 @@ require 'blertr/options'
|
|
3
3
|
|
4
4
|
module Blertr
|
5
5
|
class Notifier
|
6
|
-
attr_reader :names
|
6
|
+
attr_reader :names, :error_messages
|
7
7
|
def initialize
|
8
8
|
@names = []
|
9
|
+
@error_messages = []
|
9
10
|
end
|
10
11
|
|
11
12
|
def name
|
@@ -44,6 +45,7 @@ module Blertr
|
|
44
45
|
end
|
45
46
|
|
46
47
|
def can_alert?
|
48
|
+
error_messages << "Unknown Error"
|
47
49
|
false
|
48
50
|
end
|
49
51
|
end
|
@@ -8,12 +8,13 @@ module Blertr
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def alert message
|
11
|
-
#TODO: look to supporting other growl frameworks on other OSs
|
12
11
|
system("notify-send \"#{message.command}\" \"took #{message.time_string}\" 2> /dev/null")
|
13
12
|
end
|
14
13
|
|
15
14
|
def can_alert?
|
16
|
-
system("which notify-send > /dev/null 2>&1")
|
15
|
+
rtn = system("which notify-send > /dev/null 2>&1")
|
16
|
+
error_messages << "notify-send not availible from $PATH" unless rtn
|
17
|
+
rtn
|
17
18
|
end
|
18
19
|
end
|
19
20
|
end
|
@@ -32,9 +32,13 @@ module Blertr
|
|
32
32
|
require 'twitter'
|
33
33
|
rescue LoadError => e
|
34
34
|
rtn = false
|
35
|
+
error_messages << "twitter gem cannot be found"
|
35
36
|
end
|
36
37
|
if rtn
|
37
|
-
[:consumer_key, :consumer_secret, :oauth_token, :oauth_token_secret].each
|
38
|
+
[:consumer_key, :consumer_secret, :oauth_token, :oauth_token_secret].each do |key|
|
39
|
+
rtn &= options[key]
|
40
|
+
error_messages << "No #{key} in config file"
|
41
|
+
end
|
38
42
|
end
|
39
43
|
rtn
|
40
44
|
end
|
data/lib/blertr/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blertr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-07-22 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &2788410 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2788410
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &2788140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.5'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2788140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &2787890 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '2.3'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2787890
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &2787650 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.4'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2787650
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: twitter
|
60
|
-
requirement: &
|
60
|
+
requirement: &2787380 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 1.6.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2787380
|
69
69
|
description: Automatic alerts for when bash scripts and commands complete
|
70
70
|
email: vvv@gmail.com
|
71
71
|
executables:
|