rspec-hue 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: db7485876728c2deada251978bbb3ccd5eebc587
4
+ data.tar.gz: dbae4d22680eba2060bfd454f64541991ec07236
5
+ SHA512:
6
+ metadata.gz: a4787aa3ad6a2006088fe3d364aef5ffee0df78a0bf11b82e0709de9debcd1784c6f4bcdcb1df8cdb699ed41debf9321fd1b7fb08cc5f8f31c246890783cc277
7
+ data.tar.gz: ca764b3797ac88c79e9a3eb85b774f4e5349357a98479de4c7ebf2a532f31701d53e20d25e0db902b47d41dce2e2564ef626eece6ca4045c7bcd8c74c0723936
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format d
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ rspec_hue
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.0.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rspec-hue.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Lars Krantz
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # RspecHue
2
+
3
+ RspecHue is a formatter for RSpec that will show the status of your tests to the entire office using [Philips Hue][].
4
+
5
+ ## Installation
6
+
7
+ Note: Early version..
8
+
9
+ ```bash
10
+ gem 'rspec-hue'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ RspecHue depends on the [Huey](https://github.com/Veraticus/huey) gem that will auto-discover your [Philips Hue][] using [SSDP](http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol).
22
+ Or if you want, you can configure it to use a static ip-address.
23
+
24
+ On first usage, you will have to press the link button on your Hue when prompted, or right before running your first test with the Hue formatter.
25
+
26
+ ### Configuration
27
+ You'll have to configure the formatter using RSpec.configure, usually in your spec_helper.rb.
28
+ This is the minimal required configuration for RspecHue (not really, Huey will find a bulb, but I wouldn't count on it):
29
+
30
+ ```ruby
31
+ RSpec.configure do |config|
32
+ config.rspec_hue_light_id = 1
33
+ end
34
+ ```
35
+
36
+ Available settings are:
37
+
38
+ ```ruby
39
+ RSpec.configure do |config|
40
+ config.rspec_hue_light_id = "light name" # could be name or an id, depending on how you named your lights
41
+ # optional settings:
42
+ config.rspec_hue_ip = "10.0.1.92" # Will disable auto-discover and use this static ip
43
+ config.rspec_hue_api_user = "29b6dc6100397272a74dd2a1f6f545b" # if you want to use another api user in your Hue
44
+ # The default colors, could be overridden.
45
+ # See mention below for color syntax.
46
+ config.rspec_hue_failed_color = { bri: 183, ct: 500, xy: [ 0.6731, 0.3215 ] } # red, default for failing specs
47
+ config.rspec_hue_passed_color = { bri: 57, ct: 500, xy: [ 0.408, 0.517 ] } # green, default for passing specs
48
+ end
49
+ ```
50
+ ### Enabling in RSpec
51
+ In your .rspec add:
52
+
53
+ ```ruby
54
+ --format RspecHue
55
+ ```
56
+ ### Light ids explained
57
+ The config.rspec\_hue\_light_id refers either to an light id or a light name. See the [Hue dev docs](http://developers.meethue.com/1_lightsapi.html#11_get_all_lights).
58
+ Name can be easily be changed from the iPhone App or the Mac [Colors for Hue](https://itunes.apple.com/se/app/colors-for-hue/id581915465?mt=12).
59
+
60
+
61
+ ### Colors
62
+ See [Hue dev docs](http://developers.meethue.com/1_lightsapi.html#16_set_light_state) or [Huey#bulbs](https://github.com/Veraticus/huey#bulbs).
63
+ You could also set the color, using your iPhone Hue-app or the Mac [Colors for Hue](https://itunes.apple.com/se/app/colors-for-hue/id581915465?mt=12), and then check the parameters using the Hue [REST-interface](http://developers.meethue.com/1_lightsapi.html#14_get_light_attributes_and_state) (there seems to be a 100s cache for this call, so if it doesn't change, wait and refresh).
64
+
65
+ ## Office configuration
66
+ In our office, we have one lamp per developer and we named them after the developer's name. Then, we configure as:
67
+
68
+ ```ruby
69
+ RSpec.configure do |config|
70
+ config.rspec_hue_light_id = `git config user.name`.strip
71
+ end
72
+ ```
73
+
74
+ This will pull the name from the developer's git config and use it to find hers/his light.
75
+
76
+ RSpecHue will not break tests if the Hue isn't found, or if the rspec\_hue\_light\_id isn't accessible, but will output an one-liner error message.
77
+
78
+ ## Contributing
79
+
80
+ 1. Fork it
81
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
82
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
83
+ 4. Push to the branch (`git push origin my-new-feature`)
84
+ 5. Create new Pull Request
85
+
86
+ [Philips Hue]: http://www.meethue.com/
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+ require 'rspec_hue'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task default: :spec
8
+
9
+ desc "Find and print the ip of Hue"
10
+ task :hue_ip do
11
+ Huey::Config.logger = ::Logger.new(nil)
12
+ puts Huey::SSDP.hue_ip
13
+ end
data/lib/null_bulb.rb ADDED
@@ -0,0 +1,4 @@
1
+ class NullBulb
2
+ attr_accessor :on, :transitiontime
3
+ def update options; end
4
+ end
@@ -0,0 +1,94 @@
1
+ require 'huey'
2
+ require 'null_bulb'
3
+
4
+ class PhilipsHueController
5
+ def initialize options = {}
6
+ @configuration = default_options.merge options
7
+ if configuration.has_key? :bulb_id_to_use
8
+ init_philips_hue
9
+ else
10
+ @bulb = passed_bulb_or_null_bulb
11
+ end
12
+ end
13
+ def failed
14
+ bulb.update(configuration[:failed_color])
15
+ end
16
+ def passed
17
+ bulb.update(configuration[:passed_color])
18
+ end
19
+ private
20
+ def configuration
21
+ @configuration
22
+ end
23
+ def default_options
24
+ {
25
+ hue_ip: nil,
26
+ ssdp_ip: '239.255.255.250',
27
+ ssdp_port: 1900,
28
+ ssdp_ttl: 3,
29
+ api_user: '29b6dc6100397272a74dd2a1f6f545b',
30
+ bulb_transition_time: 1,
31
+ output: StringIO.new,
32
+ failed_color: { bri: 183, ct: 500, xy: [ 0.6731, 0.3215 ] },
33
+ passed_color: { bri: 57, ct: 500, xy: [ 0.408, 0.517 ] }
34
+ }
35
+ end
36
+ def output
37
+ configuration[:output]
38
+ end
39
+ def bulb
40
+ @bulb
41
+ end
42
+ def passed_bulb_or_null_bulb
43
+ configuration.fetch(:bulb, NullBulb.new )
44
+ end
45
+ def init_bulb
46
+ @bulb = Huey::Bulb.find(configuration[:bulb_id_to_use]) if configuration.has_key? :bulb_id_to_use
47
+ @bulb = passed_bulb_or_null_bulb if @bulb.nil? #Huey return nil if not found
48
+ @bulb.on = true
49
+ @bulb.transitiontime = configuration[:bulb_transition_time]
50
+ end
51
+ def init_philips_hue
52
+ # Must do this, othwerwise Huey starts pushing out debug messages
53
+ Huey::Config.logger = ::Logger.new(nil)
54
+ begin
55
+ Huey.configure do |config|
56
+ if configuration[:hue_ip].nil?
57
+ config.ssdp = true
58
+ # For discovering the Hue hub, usually you won't have to change this.
59
+ config.ssdp_ip = configuration[:ssdp_ip]
60
+ # Also for discovering the Hue hub.
61
+ config.ssdp_port = configuration[:ssdp_port]
62
+
63
+ # If you get constant errors about not being able to find the Hue hub and you're sure
64
+ # it's connected, increase this.
65
+ config.ssdp_ttl = configuration[:ssdp_ttl]
66
+ else
67
+ config.hue_ip = configuration[:hue_ip]
68
+ end
69
+ # Change this if you don't like the included uuid.
70
+ config.uuid = configuration[:api_user]
71
+ init_bulb
72
+ end
73
+ rescue Huey::Errors::Error, Huey::Errors::InternalBridgeError, Huey::Errors::HueResponseError
74
+ output.puts "RspecHue: Generic, unknown, Hue error, skipping"
75
+ @bulb = passed_bulb_or_null_bulb
76
+ rescue Huey::Errors::CouldNotFindHue
77
+ output.puts "RspecHue: No Philips Hue found, skipping"
78
+ @bulb = passed_bulb_or_null_bulb
79
+ rescue Huey::Errors::PressLinkButton
80
+ if STDIN.tty?
81
+ output.puts "RspecHue: Not authorized, press linkbutton on Philips Hue, then press enter here to continue, or q and enter to skip."
82
+ input = gets.strip
83
+ unless input.downcase == "q"
84
+ init_philips_hue
85
+ else
86
+ @bulb = passed_bulb_or_null_bulb
87
+ end
88
+ else
89
+ output.puts "RspecHue: Not authorized, press linkbutton on Philips Hue and try again"
90
+ @bulb = passed_bulb_or_null_bulb
91
+ end
92
+ end
93
+ end
94
+ end
data/lib/rspec_hue.rb ADDED
@@ -0,0 +1,65 @@
1
+ require 'rspec'
2
+ require 'philips_hue_controller'
3
+
4
+ class RspecHue
5
+ def initialize output, additional_args = {}
6
+ @output = output || StringIO.new
7
+ @additional_args = additional_args
8
+ @failure_count = 0
9
+ end
10
+ #called by rspec
11
+ def dump_summary duration, example_count, failure_count, pending_count
12
+ @bulb_controller = @additional_args.fetch(:controller) { setup_philips_hue_controller }
13
+ @failure_count = failure_count
14
+ end
15
+ # Catch everything else rspec throws at us, and swallow it.
16
+ def method_missing m, *args, █ end
17
+
18
+ def self.configure_rspec_for_settings
19
+ RSpec.configure do |c|
20
+ c.add_setting :rspec_hue_light_id
21
+ c.add_setting :rspec_hue_ip
22
+ c.add_setting :rspec_hue_failed_color
23
+ c.add_setting :rspec_hue_passed_color
24
+ c.add_setting :rspec_hue_api_user
25
+ end
26
+ end
27
+
28
+ # called by rspec when finished
29
+ def close()
30
+ init_bulb_controller
31
+ if failed
32
+ bulb_controller.failed
33
+ else
34
+ bulb_controller.passed
35
+ end
36
+ end
37
+
38
+ private
39
+ def init_bulb_controller
40
+ @bulb_controller = @additional_args.fetch(:controller) { setup_philips_hue_controller }
41
+ end
42
+ def failed
43
+ @failure_count > 0
44
+ end
45
+ def setup_philips_hue_controller
46
+ options = { bulb_id_to_use: RSpec.configuration.rspec_hue_light_id, output: output }
47
+ failed_color = RSpec.configuration.rspec_hue_failed_color
48
+ passed_color = RSpec.configuration.rspec_hue_passed_color
49
+ hue_ip = RSpec.configuration.rspec_hue_ip
50
+ api_user = RSpec.configuration.rspec_hue_api_user
51
+ options[:failed_color] = failed_color unless failed_color.nil?
52
+ options[:passed_color] = passed_color unless passed_color.nil?
53
+ options[:hue_ip] = hue_ip unless hue_ip.nil?
54
+ options[:api_user] = api_user unless api_user.nil?
55
+ PhilipsHueController.new options
56
+ end
57
+ def output
58
+ @output
59
+ end
60
+ def bulb_controller
61
+ @bulb_controller
62
+ end
63
+ end
64
+ # Must call to add setting-possibilty to RSpec
65
+ RspecHue.configure_rspec_for_settings
data/rspec-hue.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rspec-hue"
7
+ spec.version = '0.1.3'
8
+ spec.authors = ["larskrantz"]
9
+ spec.email = ["lars.krantz@alaz.se"]
10
+ spec.description = %q{Light up Philips Hue when testing}
11
+ spec.summary = %q{Let your Philips Hue indicate if tests are passing or not}
12
+ spec.homepage = "https://github.com/larskrantz/rspec-hue"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+ spec.required_ruby_version = Gem::Requirement.new(">=1.9.3")
20
+ spec.extra_rdoc_files = %w(LICENSE.txt README.md)
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.3"
23
+ spec.add_development_dependency "rake"
24
+ spec.add_development_dependency "yard"
25
+ spec.add_runtime_dependency "rspec"
26
+ spec.add_runtime_dependency "huey", "~> 2.0"
27
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe PhilipsHueController do
4
+ let(:bulb) { double("Bulb") }
5
+ let(:failed_color) { { bri: 183, ct: 500, xy: [ 0.6731, 0.3215 ] } }
6
+ let(:passed_color) { { bri: 57, ct: 500, xy: [ 0.408, 0.517 ] } }
7
+ let(:controller) { PhilipsHueController.new bulb: bulb, failed_color: failed_color, passed_color: passed_color }
8
+
9
+ context "when telling controller to light bulb for failing test" do
10
+ it "the bulb should receive update with failcolor" do
11
+ bulb.should_receive(:update).with(failed_color)
12
+ controller.failed
13
+ end
14
+ end
15
+ context "when telling controller to light bulb for passing test" do
16
+ it "the bulb should receive update with passcolor" do
17
+ bulb.should_receive(:update).with(passed_color)
18
+ controller.passed
19
+ end
20
+ end
21
+ context "Integration", integration: true do
22
+ context "when no Hue is found" do
23
+ let(:output) { StringIO.new }
24
+ let(:controller_no_hue) { PhilipsHueController.new ssdp_port: 2000, bulb_id_to_use: 1, output: output }
25
+
26
+ it "should not raise an error on initialization" do
27
+ expect { controller_no_hue }.to_not raise_error
28
+ end
29
+ it "should not raise an error on failed" do
30
+ expect { controller_no_hue.failed }.to_not raise_error
31
+ end
32
+ it "should not raise an error on passed" do
33
+ expect { controller_no_hue.passed }.to_not raise_error
34
+ end
35
+
36
+ it "should output an error text starting with RspecHue" do
37
+ controller_no_hue
38
+ output.string.should start_with "RspecHue:"
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe RspecHue do
4
+ context "when configuring rspec settings" do
5
+ def set_rspec_setting setting
6
+ RSpec.configure do |config|
7
+ config.send (setting.to_s + "=").to_sym, RSpec.configuration.send(setting)
8
+ end
9
+ end
10
+ it "should be able to set :rspec_hue_light_id" do
11
+ expect { set_rspec_setting :rspec_hue_light_id }.to_not raise_exception
12
+ end
13
+ it "should be able to set :rspec_hue_ip" do
14
+ expect { set_rspec_setting :rspec_hue_ip }.to_not raise_exception
15
+ end
16
+ it "should be able to set :rspec_hue_failed_color" do
17
+ expect { set_rspec_setting :rspec_hue_failed_color }.to_not raise_exception
18
+ end
19
+ it "should be able to set :rspec_hue_passed_color" do
20
+ expect { set_rspec_setting :rspec_hue_passed_color }.to_not raise_exception
21
+ end
22
+ it "should be able to set :rspec_hue_api_user" do
23
+ expect { set_rspec_setting :rspec_hue_api_user }.to_not raise_exception
24
+ end
25
+ end
26
+ context "when corresponding to the formatter interface" do
27
+ let(:controller) do
28
+ c = double("controller")
29
+ c.stub(:failed)
30
+ c.stub(:passed)
31
+ c
32
+ end
33
+ let(:formatter) { RspecHue.new StringIO.new, controller: controller }
34
+ it "should respond dump_summary" do
35
+ expect { formatter.dump_summary 123,2,1,1 }.to_not raise_exception
36
+ end
37
+ it "should not raise error if calling close() before dump_summary" do
38
+ expect { formatter.close() }.to_not raise_exception
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ require 'rspec_hue'
2
+ # This file was generated by the `rspec --init` command. Conventionally, all
3
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
4
+ # Require this file using `require "spec_helper"` to ensure that it is only
5
+ # loaded once.
6
+ #
7
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
8
+ RSpec.configure do |config|
9
+ config.treat_symbols_as_metadata_keys_with_true_values = true
10
+ config.run_all_when_everything_filtered = true
11
+ config.filter_run :focus
12
+ config.filter_run_excluding :integration
13
+ # config.rspec_hue_lamp_id = `git config user.name`.strip
14
+ # Run specs in random order to surface order dependencies. If you find an
15
+ # order dependency and want to debug it, you can fix the order by providing
16
+ # the seed, which is printed after each run.
17
+ # --seed 1234
18
+ config.order = 'random'
19
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec-hue
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ platform: ruby
6
+ authors:
7
+ - larskrantz
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-08-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: yard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: huey
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ description: Light up Philips Hue when testing
84
+ email:
85
+ - lars.krantz@alaz.se
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files:
89
+ - LICENSE.txt
90
+ - README.md
91
+ files:
92
+ - .gitignore
93
+ - .rspec
94
+ - .ruby-gemset
95
+ - .ruby-version
96
+ - Gemfile
97
+ - LICENSE.txt
98
+ - README.md
99
+ - Rakefile
100
+ - lib/null_bulb.rb
101
+ - lib/philips_hue_controller.rb
102
+ - lib/rspec_hue.rb
103
+ - rspec-hue.gemspec
104
+ - spec/philips_hue_controller_spec.rb
105
+ - spec/rspec_hue_spec.rb
106
+ - spec/spec_helper.rb
107
+ homepage: https://github.com/larskrantz/rspec-hue
108
+ licenses:
109
+ - MIT
110
+ metadata: {}
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - '>='
118
+ - !ruby/object:Gem::Version
119
+ version: 1.9.3
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.0.3
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: Let your Philips Hue indicate if tests are passing or not
131
+ test_files:
132
+ - spec/philips_hue_controller_spec.rb
133
+ - spec/rspec_hue_spec.rb
134
+ - spec/spec_helper.rb
135
+ has_rdoc: