guard-blink1 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ Gemfile.lock
2
+ .DS_Store
3
+ .guard_result
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in kelisto-assets.gemspec
4
+ gemspec
@@ -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
@@ -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
@@ -0,0 +1,9 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ t.test_files = FileList['test/*_test.rb']
6
+ end
7
+
8
+ desc "Run tests"
9
+ task :default => :test
@@ -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
@@ -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: