rspec-hue 0.1.3

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.
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: