blertr 0.2.6 → 0.2.7

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 CHANGED
@@ -2,180 +2,10 @@
2
2
 
3
3
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
4
4
 
5
- require 'blertr'
5
+ require 'blertr/bin'
6
6
 
7
- action = ARGV.shift
8
- parameters = ARGV
9
-
10
- def add_services services, time
11
- puts services
12
- end
13
-
14
- def help
15
- help_string = <<EOS
16
- -=[ Welcome to Blertr - Notifications for Bash commands ]=-
17
-
18
- Usage: blertr [command] [command parameters]
19
-
20
- Commands:
21
- help Output this help message
22
-
23
- install Add symlinks to your system to allow
24
- Blertr to function properly
25
-
26
- uninstall Remove symlinks and other setup process
27
- Effectively uninstalling Blertr
28
-
29
- upgrade Updates current copy of blertr to latest version
30
-
31
- info Pass in a notifier name to get the
32
- information it is using to send notifications
33
- Example: blertr info email
34
-
35
- status For each notifier, Blertr lists if it currently can
36
- send notifications and then lists any error messages
37
- if it cannot. Useful for debuggin problems with notifiers
38
-
39
- exclude Pass in a shell command to prevent Blertr from
40
- sending notifications when that command is
41
- executed
42
- Example: blertr exclude ssh
43
-
44
- time Pass in a notifier name and a time string to
45
- set the time required to pass before the
46
- notifier sends a message for a command
47
- Example: blertr time email 5 minutes
48
- This would make blertr send an email only if
49
- the command executing took longer than 5 mins
50
-
51
- set Pass in the notifier name, a configuration key, and
52
- a value. Blertr will add this key / value to the
53
- notifiers config file.
54
- Example: blertr set mail to user@gmail.com
55
- EOS
56
- puts help_string
57
- end
58
-
59
- def take_action action, parameters
60
- blertr_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
61
- blertr_local_dir = File.expand_path("~/.blertr")
62
- blertr_symlink = File.join(blertr_local_dir, "app")
63
- case action
64
- when "help"
65
- help
66
- when "install"
67
- if File.exists? blertr_symlink
68
- puts "ERROR: Blertr appears to already be installed.\nUninstall with blertr uninstall"
69
- else
70
- puts "creating #{blertr_local_dir} directory"
71
- system("mkdir -p #{blertr_local_dir}")
72
-
73
- puts "creating symlink from #{blertr_path} to #{blertr_symlink}"
74
- system("ln -s #{blertr_path} #{blertr_symlink}")
75
-
76
- config_dir = File.expand_path(Blertr::CONFIG_DIR_PATH)
77
- if !File.exists?(config_dir)
78
- blertr_config_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "config"))
79
- puts "copying config files to #{blertr_path}"
80
- system("cp -r #{blertr_config_dir} #{blertr_local_dir}")
81
- end
82
- puts "Blertr is now (almost) installed!\nPut this at the bottom of your .bashrc file:"
83
- puts "[[ -s \"$HOME/.blertr/app/scripts/blertr\" ]] && . \"$HOME/.blertr/app/scripts/blertr\""
84
- end
85
- when "uninstall"
86
- if File.exists? blertr_symlink
87
- puts "Removing #{blertr_symlink}"
88
- system("rm #{blertr_symlink}")
89
- puts "Blertr is now (almost) uninstalled.\nRemove from .bashrc file:"
90
- puts "[[ -s \"$HOME/.blertr/scripts/blertr\" ]] && . \"$HOME/.blertr/scripts/blertr\""
91
- else
92
- puts "ERROR: it doesn't look like Blertr is installed"
93
- end
94
- when "upgrade"
95
- commands = ["gem install blertr", "blertr uninstall", "blertr install"]
96
- puts "Right now the upgrade process is very basic. Blertr will run:"
97
- commands.each {|c| puts "$ #{c}"}
98
- puts "This assumes that blertr is installed using rvm and doesn't require"
99
- puts " sudo access."
100
- puts "That ok? (y/n)"
101
- response = gets
102
- if ["y","Y","yes","Yes","YES"].include?(response.chomp)
103
- puts "Ok, running commands now."
104
- commands.each {|c| system(c)}
105
- else
106
- puts "You're the boss, exiting now."
107
- end
108
- when "info"
109
- raw_name = parameters.shift
110
- if Blertr::Control::is_notifier? raw_name
111
- name = Blertr::Control::notifier_with_name(raw_name).name
112
- info_hash = Blertr::Options.options_for name
113
- puts "Configuration for: #{name}"
114
- if info_hash.empty?
115
- puts "No configuration file for #{name} or config file is empty"
116
- else
117
- info_hash.each do |key,value|
118
- puts "#{key}: #{value}"
119
- end
120
- end
121
- else
122
- if !raw_name or (raw_name and raw_name.empty?)
123
- puts "info requires the name of a notifier"
124
- else
125
- puts "Sorry, #{raw_name} is not a notifier"
126
- end
127
- end
128
- when "status"
129
- Blertr::Control::notifiers.each do |notifier|
130
- notify_message = notifier.can_alert? ? "can alert" : "cannot alert"
131
- puts "#{notifier.name}: #{notify_message}"
132
- if !notifier.error_messages.empty?
133
- notifier.error_messages.each {|err| puts " #{err}"}
134
- end
135
- end
136
- when "exclude"
137
- name = parameters.join(" ")
138
- puts "Excluding #{name} from Blertr alerts"
139
- Blertr::Blacklist.new.add(name)
140
- when "set"
141
- notifier_name = parameters.shift
142
- if Blertr::Control::is_notifier? notifier_name
143
- key = parameters.shift
144
- value = parameters.shift
145
- if key and value
146
- puts "Setting #{notifier_name}'s #{key} to #{value}"
147
- Blertr::Control::notifier_with_name(notifier_name).set_option(key,value)
148
- else
149
- puts "set command requires a key and a value to set it to"
150
- puts "example blertr set email to user@gmail.com"
151
- end
152
- else
153
- puts "Sorry, #{action} isn't a notifier."
154
- puts "Use blertr status for a list of all notifiers"
155
- end
156
- when "time"
157
- notifier_found = false
158
- notifiers = parameters.shift.split(",")
159
- notifiers.each do |notifier|
160
- if Blertr::Control::is_notifier? notifier
161
- notifier_found = true
162
- new_time = parameters.join(" ")
163
- Blertr::Control::change_time notifier, new_time
164
- end
165
- end
166
-
167
- if !notifier_found
168
- puts "Sorry, #{action} isn't a notifier."
169
- puts "Use blertr status for a list of all notifiers"
170
- end
171
- else
172
- puts "Sorry, #{action} isn't a recognized command"
173
- puts "use blertr help to get a list of availible commands."
174
- end
175
- end
176
-
177
- if action
178
- take_action action.downcase, parameters
179
- else
180
- puts "usage blertr [command] [command parameters]"
7
+ if __FILE__ == $0
8
+ action = ARGV.shift
9
+ parameters = ARGV
10
+ Blertr::Bin::take_action action, parameters
181
11
  end
@@ -8,3 +8,4 @@
8
8
  - vim
9
9
  - blertr
10
10
  - git log
11
+ - emacs
@@ -0,0 +1,207 @@
1
+
2
+ require 'blertr'
3
+
4
+ module Blertr
5
+ class Bin
6
+
7
+ def self.add_services services, time
8
+ puts services
9
+ end
10
+
11
+ def self.help
12
+ help_string = <<EOS
13
+ -=[ Welcome to Blertr - Notifications for Bash commands ]=-
14
+
15
+ Usage: blertr [command] [command parameters]
16
+
17
+ Commands:
18
+ help Output this help message
19
+
20
+ install Add symlinks to your system to allow
21
+ Blertr to function properly
22
+
23
+ uninstall Remove symlinks and other setup process
24
+ Effectively uninstalling Blertr
25
+
26
+ upgrade Updates current copy of blertr to latest version
27
+
28
+ info Pass in a notifier name to get the
29
+ information it is using to send notifications
30
+ Example: blertr info email
31
+
32
+ status For each notifier, Blertr lists if it currently can
33
+ send notifications and then lists any error messages
34
+ if it cannot. Useful for debuggin problems with notifiers
35
+
36
+ exclude Pass in a shell command to prevent Blertr from
37
+ sending notifications when that command is
38
+ executed
39
+ Example: blertr exclude ssh
40
+
41
+ time Pass in a notifier name and a time string to
42
+ set the time required to pass before the
43
+ notifier sends a message for a command
44
+ Example: blertr time email 5 minutes
45
+ This would make blertr send an email only if
46
+ the command executing took longer than 5 mins
47
+
48
+ set Pass in the notifier name, a configuration key, and
49
+ a value. Blertr will add this key / value to the
50
+ notifiers config file.
51
+ Example: blertr set mail to user@gmail.com
52
+ EOS
53
+ puts help_string
54
+ end
55
+
56
+ def self.take_action action, parameters
57
+ parameters = [parameters].flatten.compact
58
+ blertr_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
59
+ blertr_local_dir = File.expand_path("~/.blertr")
60
+ blertr_symlink = File.join(blertr_local_dir, "app")
61
+ case action
62
+ when "help",nil
63
+ help
64
+ when "install"
65
+ if File.exists? blertr_symlink
66
+ puts "ERROR: Blertr appears to already be installed.\nUninstall with blertr uninstall"
67
+ else
68
+ puts "creating #{blertr_local_dir} directory"
69
+ system("mkdir -p #{blertr_local_dir}")
70
+
71
+ puts "creating symlink from #{blertr_path} to #{blertr_symlink}"
72
+ system("ln -s #{blertr_path} #{blertr_symlink}")
73
+
74
+ config_dir = File.expand_path(Blertr::CONFIG_DIR_PATH)
75
+ if !File.exists?(config_dir)
76
+ blertr_config_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "config"))
77
+ puts "copying config files to #{blertr_path}"
78
+ system("cp -r #{blertr_config_dir} #{blertr_local_dir}")
79
+ end
80
+ puts "Blertr is now (almost) installed!\nPut this at the bottom of your .bashrc file:"
81
+ puts "[[ -s \"$HOME/.blertr/app/scripts/blertr\" ]] && . \"$HOME/.blertr/app/scripts/blertr\""
82
+ end
83
+ when "uninstall"
84
+ if File.exists? blertr_symlink
85
+ puts "Removing #{blertr_symlink}"
86
+ system("rm #{blertr_symlink}")
87
+ puts "Blertr is now (almost) uninstalled.\nRemove from .bashrc file:"
88
+ puts "[[ -s \"$HOME/.blertr/scripts/blertr\" ]] && . \"$HOME/.blertr/scripts/blertr\""
89
+ else
90
+ puts "ERROR: it doesn't look like Blertr is installed"
91
+ end
92
+ when "upgrade"
93
+ commands = ["gem install blertr", "blertr uninstall", "blertr install"]
94
+ puts "Right now the upgrade process is very basic. Blertr will run:"
95
+ commands.each {|c| puts "$ #{c}"}
96
+ puts "This assumes that blertr is installed using rvm and doesn't require"
97
+ puts " sudo access."
98
+ puts "That ok? (y/n)"
99
+ response = gets
100
+ if ["y","Y","yes","Yes","YES"].include?(response.chomp)
101
+ puts "Ok, running commands now."
102
+ commands.each {|c| system(c)}
103
+ else
104
+ puts "You're the boss, exiting now."
105
+ end
106
+ when "info"
107
+ raw_name = parameters.shift
108
+ raw_name = raw_name ? raw_name.strip : nil
109
+ raw_name = (raw_name and raw_name.empty?) ? nil : raw_name
110
+
111
+ names = []
112
+ if !raw_name
113
+ Blertr::Control::notifiers.each { |notifier| names << notifier.name}
114
+ else
115
+ if Blertr::Control::is_notifier? raw_name
116
+ names << Blertr::Control::notifier_with_name(raw_name).name
117
+ else
118
+ puts "Error: #{raw_name} is not a notifier"
119
+ puts "use blertr status to list all notifiers"
120
+ end
121
+ end
122
+
123
+ names.each do |name|
124
+ info_hash = Blertr::Options.options_for name
125
+ puts "Configuration for: #{name}"
126
+ if info_hash.empty?
127
+ puts " No configuration file for #{name} or config file is empty"
128
+ else
129
+ info_hash.each do |key,value|
130
+ puts " #{key}: #{value}"
131
+ end
132
+ end
133
+ end
134
+ when "status"
135
+ Blertr::Control::notifiers.each do |notifier|
136
+ notify_message = notifier.can_alert? ? "can alert" : "cannot alert"
137
+ puts "#{notifier.name}: #{notify_message}"
138
+ if !notifier.error_messages.empty?
139
+ notifier.error_messages.each {|err| puts " #{err}"}
140
+ end
141
+ end
142
+ when "exclude"
143
+ name = parameters.join(" ").strip
144
+ unless !name or name.empty?
145
+ puts "Excluding #{name} from Blertr alerts"
146
+ Blertr::Blacklist.new.add(name)
147
+ else
148
+ puts "Error: excluding requires a command to exclude"
149
+ puts "Example: blertr exclude ssh"
150
+ end
151
+ when "set"
152
+ notifier_name = parameters.shift
153
+ if Blertr::Control::is_notifier? notifier_name
154
+ key = parameters.shift
155
+ value = parameters.shift
156
+ if key and value
157
+ puts "Setting #{notifier_name}'s #{key} to #{value}"
158
+ Blertr::Control::notifier_with_name(notifier_name).set_option(key,value)
159
+ else
160
+ puts "Error: set command requires a key and a value to set it to"
161
+ puts "Example: blertr set email to user@gmail.com"
162
+ end
163
+ else
164
+ puts "Error: #{notifier_name} isn't a notifier."
165
+ puts "Use blertr status for a list of all notifiers"
166
+ end
167
+ when "time"
168
+ if !parameters.empty?
169
+ notifier_found = false
170
+ notifiers = parameters.shift.strip.split(",")
171
+ notifiers.each do |notifier|
172
+ if Blertr::Control::is_notifier? notifier
173
+ notifier_found = true
174
+ new_time = parameters.join(" ").strip
175
+ unless new_time.empty?
176
+ Blertr::Control::change_time notifier, new_time
177
+ else
178
+ puts "Error: setting time requires a new time"
179
+ puts "Example: blertr time #{notifier} 5 minutes"
180
+ end
181
+ end
182
+ end
183
+
184
+ if !notifier_found
185
+ puts "Sorry, #{notifiers.join(",")} isn't a notifier."
186
+ puts "Use blertr status for a list of all notifiers"
187
+ puts "Example: blertr time mail 5 minutes"
188
+ end
189
+ else
190
+ puts "All Notifier Times:"
191
+ Blertr::Control::notifiers.each do |notifier|
192
+ notifier_time = "#{notifier.name}".ljust(20)
193
+ notifier_time += notifier.options[:time] ? "#{notifier.options[:time]} seconds" : "not set"
194
+ puts notifier_time
195
+ end
196
+ puts ""
197
+ puts "Use blertr time [notifier] [time]"
198
+ puts " to set time for notifier."
199
+ puts "Example: blertr time mail 5 minutes"
200
+ end
201
+ else
202
+ puts "Sorry, #{action} isn't a recognized command"
203
+ puts "use blertr help to get a list of availible commands."
204
+ end
205
+ end
206
+ end
207
+ end
@@ -1,11 +1,17 @@
1
1
  require 'fileutils'
2
+ require 'blertr/constants'
2
3
 
3
4
  module Blertr
4
5
  class Blacklist
5
6
  attr_accessor :path, :list
6
7
 
7
8
  def self.path
8
- File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "config", "blacklist.yaml"))
9
+ base_path = File.expand_path(CONFIG_DIR_PATH)
10
+ if File.exists?(base_path)
11
+ File.join(base_path, "blacklist.yaml")
12
+ else
13
+ File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "config", "blacklist.yaml"))
14
+ end
9
15
  end
10
16
 
11
17
  def initialize path = Blacklist::path
@@ -31,8 +37,20 @@ module Blertr
31
37
 
32
38
  def blacklisted? command
33
39
  rtn = false
34
- @list.each do |name|
35
- if command =~ /^#{name}/
40
+ command_fields = command.split(/ /)
41
+ list_matches = @list.collect {|name| name.split(/ /).zip(command_fields)}
42
+
43
+ list_matches.each do |match_set|
44
+ match = true
45
+ match_set.each do |excluded_section, command_section|
46
+ if (excluded_section and command_section) and
47
+ (excluded_section != command_section) and
48
+ (File.basename(excluded_section) != File.basename(command_section))
49
+ match = false
50
+ end
51
+ end
52
+
53
+ if match
36
54
  rtn = true
37
55
  return rtn
38
56
  end
@@ -1,3 +1,3 @@
1
1
  module Blertr
2
- VERSION = "0.2.6".freeze
2
+ VERSION = "0.2.7".freeze
3
3
  end
@@ -0,0 +1,77 @@
1
+ BIN = File.expand_path(File.join(File.dirname(__FILE__), "..", "bin", "blertr"))
2
+
3
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
4
+ require 'blertr/bin'
5
+
6
+ describe Blertr::Bin do
7
+ describe "blertr" do
8
+ before(:each) do
9
+ @bin = BIN
10
+ end
11
+
12
+ it "should exist" do
13
+ File.exists?(@bin).should == true
14
+ end
15
+
16
+ it "should be executable" do
17
+ File.executable?(@bin).should == true
18
+ end
19
+ end
20
+
21
+ describe "bin" do
22
+ before(:each) do
23
+ @bin = Blertr::Bin
24
+ @invalid_notifiers = ["", "maill", "mad", nil, "gr0wl", "ddd", " dd "]
25
+ end
26
+
27
+ it "should print help with no action or help action" do
28
+ actions = [nil, "help"]
29
+ actions.each do |action|
30
+ output = capture(:stdout) {@bin.take_action action, nil}
31
+ output.should match(/Welcome to Blertr/)
32
+ end
33
+ end
34
+
35
+ it "should print time for all notifiers with no time parameters" do
36
+ output = capture(:stdout) {@bin.take_action "time", nil}
37
+ output.should match(/All Notifier Times/)
38
+ end
39
+
40
+ it "should indicate notifier is invalid for invalid notifiers" do
41
+ output = capture(:stdout) {@bin.take_action "time", "not_notifier"}
42
+ output.should match(/isn't a notifier/)
43
+ end
44
+
45
+ it "should error if no time is given to set for notifier" do
46
+ output = capture(:stdout) {@bin.take_action "time", "mail"}
47
+ output.should match(/Error/)
48
+ output.should match(/requires a new time/)
49
+ end
50
+
51
+ it "should not set configs for invalid notifier" do
52
+ @invalid_notifiers.each do |notifier|
53
+ output = capture(:stdout) {@bin.take_action "set", notifier }
54
+ output.should match(/Error/)
55
+ output.should match(/isn't a notifier/)
56
+ end
57
+ end
58
+
59
+ it "should not exclude empty commands" do
60
+ invalid_exclusions = [nil, "", " "]
61
+ invalid_exclusions.each do |ex|
62
+ output = capture(:stdout) {@bin.take_action "exclude", ex }
63
+ output.should match(/Error/)
64
+ output.should match(/requires .* command .* exclude/)
65
+ end
66
+ end
67
+
68
+ it "should show info of all notifiers if no notifier name given" do
69
+ output = capture(:stdout) {@bin.take_action "info", nil }
70
+ output.should match(/Configuration for: mail/)
71
+ output.should match(/Configuration for: twitter/)
72
+ output = capture(:stdout) {@bin.take_action "info", " " }
73
+ output.should match(/Configuration for: mail/)
74
+ output.should match(/Configuration for: twitter/)
75
+ end
76
+ end
77
+ end
@@ -49,7 +49,16 @@ describe Blertr::Blacklist do
49
49
  end
50
50
 
51
51
  it "should handle full commands" do
52
- commands = [["git diff","git diff"], ["ssh", "ssh 123@123.com"], ["cp", "cp /ma/da ./da/ma"]]
52
+ commands = [["git diff","git diff"], ["ssh", "ssh 123@123.com"], ["cp", "cp /ma/da ./da/ma"], ["cp", "cp "]]
53
+
54
+ commands.each do |name, command|
55
+ @blacklist.add name
56
+ @blacklist.blacklisted?(command).should == true
57
+ end
58
+ end
59
+
60
+ it "should handle relative commands" do
61
+ commands = [["git diff","../../git diff"], ["ssh", "/usr/bin/ssh 123@123.com"], ["cp", "/dev/../null/cp /ma/da ./dd/mz"]]
53
62
 
54
63
  commands.each do |name, command|
55
64
  @blacklist.add name
@@ -58,7 +67,7 @@ describe Blertr::Blacklist do
58
67
  end
59
68
 
60
69
  it "should not exclude similar commands" do
61
- commands = [["git diff","git diff", "git log"], ["ssh", "ssh 123@123.com", "scp 123@123.com"], ["cp", "cp /ma/da ./da/ma"]]
70
+ commands = [["git diff","git diff", "git log"], ["ssh", "ssh 123@123.com", "scp 123@123.com"], ["cp", "cp /ma/da ./da/ma", "cpy /ma/da ./da/ma"], ["git diff", "../git diff", "../git log"], ["git diff", "git diff", "git dif"]]
62
71
  commands.each do |name, command, similar_command|
63
72
  @blacklist.add name
64
73
  @blacklist.blacklisted?(command).should == true
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.2.6
4
+ version: 0.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-02 00:00:00.000000000Z
12
+ date: 2011-08-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &2676140 !ruby/object:Gem::Requirement
16
+ requirement: &2650200 !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: *2676140
24
+ version_requirements: *2650200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &2675820 !ruby/object:Gem::Requirement
27
+ requirement: &2649890 !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: *2675820
35
+ version_requirements: *2649890
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2675590 !ruby/object:Gem::Requirement
38
+ requirement: &2649630 !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: *2675590
46
+ version_requirements: *2649630
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &2675320 !ruby/object:Gem::Requirement
49
+ requirement: &2649380 !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: *2675320
57
+ version_requirements: *2649380
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: twitter
60
- requirement: &2674970 !ruby/object:Gem::Requirement
60
+ requirement: &2649130 !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: *2674970
68
+ version_requirements: *2649130
69
69
  description: Automatic alerts for when bash scripts and commands complete
70
70
  email: vvv@gmail.com
71
71
  executables:
@@ -89,6 +89,7 @@ files:
89
89
  - config/mail_config.yaml
90
90
  - config/notify_send_config.yaml
91
91
  - lib/blertr.rb
92
+ - lib/blertr/bin.rb
92
93
  - lib/blertr/blacklist.rb
93
94
  - lib/blertr/constants.rb
94
95
  - lib/blertr/control.rb
@@ -105,6 +106,7 @@ files:
105
106
  - scripts/cli
106
107
  - scripts/preexec
107
108
  - scripts_bin/blert_now.rb
109
+ - spec/bin_spec.rb
108
110
  - spec/blacklist_spec.rb
109
111
  - spec/control_spec.rb
110
112
  - spec/growl_notifier_spec.rb
@@ -140,6 +142,7 @@ signing_key:
140
142
  specification_version: 3
141
143
  summary: Automatic alerts for when bash scripts and commands complete
142
144
  test_files:
145
+ - spec/bin_spec.rb
143
146
  - spec/blacklist_spec.rb
144
147
  - spec/control_spec.rb
145
148
  - spec/growl_notifier_spec.rb