cadre 0.1.0 → 0.2.0
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/lib/cadre/growl/notifier.rb +17 -17
- data/lib/cadre/libnotify/notifier.rb +11 -6
- data/lib/cadre/notifier.rb +48 -0
- data/lib/cadre/rspec/notify-on-complete-formatter.rb +3 -2
- metadata +5 -24
data/lib/cadre/growl/notifier.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
+
require 'cadre/notifier'
|
|
2
|
+
|
|
1
3
|
module Cadre
|
|
2
4
|
module Growl
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
class Notifier < ::Cadre::Notifier
|
|
6
|
+
register :growl
|
|
7
|
+
|
|
8
|
+
def self.available?
|
|
9
|
+
#XXXX This isn't going to work at all as is. Lifted from other code, as #ok
|
|
10
|
+
#hints toward a working adapter
|
|
11
|
+
availables["growlnotify"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def go
|
|
15
|
+
# growlnotify "--image ./autotest/fail.png -p Emergency -m '#{summary}' -t '#{message}'" #ok
|
|
16
|
+
# growlnotify "--image ./autotest/pending.png -p High -m '#{summary}' -t '#{message}'" #ok
|
|
17
|
+
# growlnotify "--image ./autotest/pass.png -p 'Very Low' -m '#{summary}' -t '#{message}'" #ok
|
|
18
|
+
growlnotify "-m '#{summary}' -t '#{message}'" #ok
|
|
16
19
|
end
|
|
17
20
|
|
|
18
21
|
def growlnotify str
|
|
19
|
-
system
|
|
20
|
-
if $?.exitstatus == 0
|
|
21
|
-
system "growlnotify -n autotest #{str}"
|
|
22
|
-
end
|
|
22
|
+
system "growlnotify -n cadre #{str}"
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
end
|
|
@@ -2,17 +2,22 @@ require 'cadre/valise'
|
|
|
2
2
|
|
|
3
3
|
module Cadre
|
|
4
4
|
module Libnotify
|
|
5
|
-
class Notifier
|
|
6
|
-
|
|
7
|
-
yield self if block_given?
|
|
8
|
-
end
|
|
5
|
+
class Notifier < ::Cadre::Notifier
|
|
6
|
+
register :libnotify
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
def self.available?
|
|
9
|
+
return availables["notify-send"]
|
|
10
|
+
end
|
|
11
11
|
|
|
12
12
|
def go
|
|
13
13
|
cmd = "notify-send #{options} \"#@summary\" \"#@message\""
|
|
14
14
|
%x[#{cmd}]
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
if available?("paplay")
|
|
17
|
+
%x[paplay #{Valise.find(["sounds", sound]).full_path}] if String === sound
|
|
18
|
+
elsif available?("aplay")
|
|
19
|
+
%x[aplay #{Valise.find(["sounds", sound]).full_path}] if String === sound
|
|
20
|
+
end
|
|
16
21
|
end
|
|
17
22
|
|
|
18
23
|
def options
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Cadre
|
|
2
|
+
class Notifier
|
|
3
|
+
class << self
|
|
4
|
+
def registry
|
|
5
|
+
@registry ||= {}
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def register(name)
|
|
9
|
+
Notifier.registry[name] = self
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def get
|
|
13
|
+
registry.each_pair do |name, notifier|
|
|
14
|
+
return notifier if notifier.available?
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
return DumbNotifier
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def availables
|
|
21
|
+
@availables ||= Hash.new{|h,k| h[k] = system("which", k, :out => "/dev/null")}
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def available?(program)
|
|
26
|
+
self.class.availables[program]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def initialize
|
|
30
|
+
yield self if block_given?
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
attr_accessor :summary, :message, :sound, :expire_time, :app_name, :transient
|
|
34
|
+
|
|
35
|
+
def go
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class DumbNotifier < Notifier
|
|
40
|
+
def go
|
|
41
|
+
puts summary
|
|
42
|
+
puts message
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
require 'cadre/libnotify/notifier'
|
|
48
|
+
require 'cadre/growl/notifier'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require 'cadre/
|
|
1
|
+
require 'cadre/notifier'
|
|
2
2
|
require 'rspec/core/formatters/base_formatter'
|
|
3
3
|
|
|
4
4
|
rspec_pid = Process.pid
|
|
@@ -22,7 +22,8 @@ module Cadre
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def dump_summary(duration, example_count, failure_count, pending_count)
|
|
25
|
-
notifier =
|
|
25
|
+
notifier = Cadre::Notifier.get.new
|
|
26
|
+
|
|
26
27
|
if duration < 20
|
|
27
28
|
notifier.transient = true
|
|
28
29
|
notifier.summary = "Finished spec run"
|
metadata
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
name: cadre
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.
|
|
5
|
+
version: 0.2.0
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Judson Lester
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
12
|
+
date: 2013-11-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
prerelease: false
|
|
@@ -19,20 +19,12 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - ~>
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
segments:
|
|
23
|
-
- 0
|
|
24
|
-
- 18
|
|
25
|
-
- 1
|
|
26
22
|
version: 0.18.1
|
|
27
23
|
none: false
|
|
28
24
|
requirement: !ruby/object:Gem::Requirement
|
|
29
25
|
requirements:
|
|
30
26
|
- - ~>
|
|
31
27
|
- !ruby/object:Gem::Version
|
|
32
|
-
segments:
|
|
33
|
-
- 0
|
|
34
|
-
- 18
|
|
35
|
-
- 1
|
|
36
28
|
version: 0.18.1
|
|
37
29
|
none: false
|
|
38
30
|
- !ruby/object:Gem::Dependency
|
|
@@ -43,18 +35,12 @@ dependencies:
|
|
|
43
35
|
requirements:
|
|
44
36
|
- - ~>
|
|
45
37
|
- !ruby/object:Gem::Version
|
|
46
|
-
segments:
|
|
47
|
-
- 1
|
|
48
|
-
- 0
|
|
49
38
|
version: '1.0'
|
|
50
39
|
none: false
|
|
51
40
|
requirement: !ruby/object:Gem::Requirement
|
|
52
41
|
requirements:
|
|
53
42
|
- - ~>
|
|
54
43
|
- !ruby/object:Gem::Version
|
|
55
|
-
segments:
|
|
56
|
-
- 1
|
|
57
|
-
- 0
|
|
58
44
|
version: '1.0'
|
|
59
45
|
none: false
|
|
60
46
|
- !ruby/object:Gem::Dependency
|
|
@@ -65,18 +51,12 @@ dependencies:
|
|
|
65
51
|
requirements:
|
|
66
52
|
- - ~>
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
segments:
|
|
69
|
-
- 1
|
|
70
|
-
- 0
|
|
71
54
|
version: '1.0'
|
|
72
55
|
none: false
|
|
73
56
|
requirement: !ruby/object:Gem::Requirement
|
|
74
57
|
requirements:
|
|
75
58
|
- - ~>
|
|
76
59
|
- !ruby/object:Gem::Version
|
|
77
|
-
segments:
|
|
78
|
-
- 1
|
|
79
|
-
- 0
|
|
80
60
|
version: '1.0'
|
|
81
61
|
none: false
|
|
82
62
|
description: ! " Three things:\n\n An rspec formatter that triggers libnotify on
|
|
@@ -106,6 +86,7 @@ files:
|
|
|
106
86
|
- lib/cadre/config.rb
|
|
107
87
|
- lib/cadre/command-line.rb
|
|
108
88
|
- lib/cadre/valise.rb
|
|
89
|
+
- lib/cadre/notifier.rb
|
|
109
90
|
- lib/cadre/simplecov/vim-formatter.rb
|
|
110
91
|
- lib/cadre/simplecov.rb
|
|
111
92
|
- bin/cadre
|
|
@@ -120,7 +101,7 @@ rdoc_options:
|
|
|
120
101
|
- --main
|
|
121
102
|
- doc/README
|
|
122
103
|
- --title
|
|
123
|
-
- cadre-0.
|
|
104
|
+
- cadre-0.2.0 Documentation
|
|
124
105
|
require_paths:
|
|
125
106
|
- lib/
|
|
126
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
@@ -129,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
129
110
|
- !ruby/object:Gem::Version
|
|
130
111
|
segments:
|
|
131
112
|
- 0
|
|
132
|
-
hash:
|
|
113
|
+
hash: 711415251
|
|
133
114
|
version: '0'
|
|
134
115
|
none: false
|
|
135
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|