guard-blink1 0.0.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/.gitignore +3 -0
- data/Gemfile +4 -0
- data/Guardfile +15 -0
- data/README.md +57 -0
- data/Rakefile +9 -0
- data/guard-blink1.gemspec +22 -0
- data/lib/guard_blink1.rb +40 -0
- data/test/guard_blink1_test.rb +37 -0
- metadata +151 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require './lib/guard_blink1'
|
2
|
+
notification(:file, path: '.guard_result')
|
3
|
+
|
4
|
+
guard :test do
|
5
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
|
6
|
+
watch(%r{^test/.+_test\.rb$})
|
7
|
+
watch('test/test_helper.rb') { "test" }
|
8
|
+
end
|
9
|
+
|
10
|
+
guard :shell do
|
11
|
+
watch '.guard_result' do
|
12
|
+
firstline = File.read('.guard_result').lines.first.strip
|
13
|
+
GuardBlink1.blink_colour(firstline)
|
14
|
+
end
|
15
|
+
end
|
data/README.md
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
|
2
|
+
## About
|
3
|
+
|
4
|
+
This gem allows you to use your [blink1 from thingm](http://thingm.com/products/blink-1.html) along with [guard](https://github.com/guard/guard) to show if your tests are failing (red) or passing (green)
|
5
|
+
|
6
|
+
After reading this [guard-dev post](https://groups.google.com/forum/?fromgroups=#!searchin/guard-dev/notification/guard-dev/wz5zlLJUEQA/gji7B9FS1UAJ) I decided to use the resultant [Guard File notification](https://github.com/guard/guard#file) born out of that very discussion.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
### Install guard-blink1
|
11
|
+
|
12
|
+
You need [guard](https://github.com/guard/guard) & [guard-shell](https://github.com/hawx/guard-shell)
|
13
|
+
|
14
|
+
so if you haven't already, add
|
15
|
+
|
16
|
+
```
|
17
|
+
gem 'guard'
|
18
|
+
gem 'guard-shell'
|
19
|
+
```
|
20
|
+
|
21
|
+
to your Gemfile
|
22
|
+
|
23
|
+
and also add
|
24
|
+
|
25
|
+
```gem 'guard-blink1'``` after this
|
26
|
+
|
27
|
+
|
28
|
+
### Now add this to the end of your Guardfile
|
29
|
+
|
30
|
+
```
|
31
|
+
notification(:file, path: '.guard_result')
|
32
|
+
|
33
|
+
require 'guard_blink1'
|
34
|
+
guard :shell do
|
35
|
+
watch '.guard_result' do
|
36
|
+
firstline = File.read('.guard_result').lines.first.strip
|
37
|
+
GuardBlink1.blink_colour(firstline)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
```
|
41
|
+
|
42
|
+
### .gitignore
|
43
|
+
|
44
|
+
As we're using an intermediary file called .guard_result you'll probably want to add that to your .gitignore file, so you won't commit it to git.
|
45
|
+
|
46
|
+
### Winning
|
47
|
+
|
48
|
+
Now get back to coding with your blink1 as your Red/Green testing buddy :)
|
49
|
+
|
50
|
+
## Contributing/Making it better/Fixing my bugs ;)
|
51
|
+
|
52
|
+
|
53
|
+
1. Create your feature branch (`git checkout -b my-new-feature`)
|
54
|
+
2. Make changes whilst running guard (of course), & make sure all tests are green.
|
55
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
56
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
57
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'guard-blink1'
|
3
|
+
s.version = '0.0.0'
|
4
|
+
s.date = '2013-05-10'
|
5
|
+
s.summary = "guard output to blink1"
|
6
|
+
s.description = "expects first line from guard result file, and outputs relevant colour to blink1"
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Geoff Tidey"]
|
9
|
+
s.email = 'guard-blink1@tidey.net'
|
10
|
+
s.files = `git ls-files`.split($\)
|
11
|
+
s.homepage = ''
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
14
|
+
|
15
|
+
s.add_development_dependency 'test-unit', '>= 2.5.4'
|
16
|
+
s.add_development_dependency 'guard', '>= 1.8'
|
17
|
+
s.add_development_dependency 'guard-shell', '>= 0.5.1'
|
18
|
+
s.add_development_dependency 'pry', '>= 0.9.12'
|
19
|
+
|
20
|
+
s.add_runtime_dependency "rb-blink1", "~> 0.0.6"
|
21
|
+
s.add_runtime_dependency "colormath", "~> 0.1.2"
|
22
|
+
end
|
data/lib/guard_blink1.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'blink1'
|
2
|
+
require 'colormath'
|
3
|
+
|
4
|
+
class GuardBlink1
|
5
|
+
|
6
|
+
COLOURS = {
|
7
|
+
'success' => '#0F0',
|
8
|
+
'failed' => '#F00',
|
9
|
+
'pending' => '#FF0',
|
10
|
+
'off' => '#000',
|
11
|
+
'default' => '#777',
|
12
|
+
}
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def blink_colour(status)
|
16
|
+
colour = get_colour(status)
|
17
|
+
puts "BLINK: #{colour}"
|
18
|
+
set_colour(colour)
|
19
|
+
end
|
20
|
+
|
21
|
+
def get_colour(status)
|
22
|
+
colour = COLOURS.fetch(status) do |key|
|
23
|
+
begin
|
24
|
+
key.to_color; key
|
25
|
+
rescue ArgumentError, NoMethodError
|
26
|
+
COLOURS['default']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def set_colour(colour)
|
32
|
+
rgb = ColorMath::hex_color(colour)
|
33
|
+
r,g,b = (rgb.red * 255), (rgb.green * 255), (rgb.blue * 255)
|
34
|
+
Blink1.open do |blink1|
|
35
|
+
blink1.set_rgb(r,g,b)
|
36
|
+
end
|
37
|
+
rgb
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'guard_blink1'
|
3
|
+
|
4
|
+
class GuardBlink1Test < Test::Unit::TestCase
|
5
|
+
def test_get_colour
|
6
|
+
assert_equal "#0F0", GuardBlink1.get_colour("success")
|
7
|
+
assert_equal "#F00", GuardBlink1.get_colour("failed")
|
8
|
+
assert_equal "#FF0", GuardBlink1.get_colour("pending")
|
9
|
+
assert_equal "#000", GuardBlink1.get_colour("off")
|
10
|
+
assert_equal "#777", GuardBlink1.get_colour("default")
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_set_colour
|
14
|
+
rgb = GuardBlink1.set_colour("#112233")
|
15
|
+
GuardBlink1.set_colour("#000000")
|
16
|
+
assert_equal 0.06666666666666667, rgb.red
|
17
|
+
assert_equal 0.13333333333333333, rgb.green
|
18
|
+
assert_equal 0.200, rgb.blue
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_blink_colour
|
22
|
+
rgb = GuardBlink1.blink_colour("success")
|
23
|
+
GuardBlink1.blink_colour("off")
|
24
|
+
assert_equal 0.0, rgb.red
|
25
|
+
assert_equal 1, rgb.green
|
26
|
+
assert_equal 0.0, rgb.blue
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_blink_colour_unknown
|
30
|
+
rgb = GuardBlink1.blink_colour("wibble")
|
31
|
+
GuardBlink1.blink_colour("off")
|
32
|
+
assert_equal 0.4666666666666667, rgb.red
|
33
|
+
assert_equal 0.4666666666666667, rgb.green
|
34
|
+
assert_equal 0.4666666666666667, rgb.blue
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: guard-blink1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Geoff Tidey
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-05-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: test-unit
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.5.4
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.5.4
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: guard
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.8'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.8'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: guard-shell
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.5.1
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.5.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: pry
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.9.12
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.12
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rb-blink1
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.0.6
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.0.6
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: colormath
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 0.1.2
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.1.2
|
110
|
+
description: expects first line from guard result file, and outputs relevant colour
|
111
|
+
to blink1
|
112
|
+
email: guard-blink1@tidey.net
|
113
|
+
executables: []
|
114
|
+
extensions: []
|
115
|
+
extra_rdoc_files: []
|
116
|
+
files:
|
117
|
+
- .gitignore
|
118
|
+
- Gemfile
|
119
|
+
- Guardfile
|
120
|
+
- README.md
|
121
|
+
- Rakefile
|
122
|
+
- guard-blink1.gemspec
|
123
|
+
- lib/guard_blink1.rb
|
124
|
+
- test/guard_blink1_test.rb
|
125
|
+
homepage: ''
|
126
|
+
licenses: []
|
127
|
+
post_install_message:
|
128
|
+
rdoc_options: []
|
129
|
+
require_paths:
|
130
|
+
- lib
|
131
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ! '>='
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
requirements: []
|
144
|
+
rubyforge_project:
|
145
|
+
rubygems_version: 1.8.24
|
146
|
+
signing_key:
|
147
|
+
specification_version: 3
|
148
|
+
summary: guard output to blink1
|
149
|
+
test_files:
|
150
|
+
- test/guard_blink1_test.rb
|
151
|
+
has_rdoc:
|