hue-lib 0.7.2 → 0.7.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 +7 -0
- data/Rakefile +2 -2
- data/hue-lib.gemspec +1 -1
- data/lib/hue.rb +2 -1
- data/lib/hue/bulb.rb +3 -3
- data/spec/hue_spec.rb +14 -4
- data/spec/spec_helper.rb +14 -0
- metadata +18 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 888f312d7fd5cbc97e0420cdfd93c81ce2384dfc
|
4
|
+
data.tar.gz: b4925347b45be059603fda074dcdbed11311942f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 565dcd5268b7948a36bd1bb70f0527015a82609cf02b13d3cc5a323ba912a732fe0dab58b35dc9543f1141a2d762f2c5ae40a69a3ef84358138c52f7e5d82bf2
|
7
|
+
data.tar.gz: 12675f32773730f522c984812f29ba118db9880bd45a9733702478c8d0b9277a5976c38afb6c42be8ed617b3e3ec74a7901beb8c1c6240c2927dbb865ffade1f
|
data/Rakefile
CHANGED
data/hue-lib.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "hue-lib"
|
6
|
-
s.version = '0.7.
|
6
|
+
s.version = '0.7.3'
|
7
7
|
s.authors = ["Birkir A. Barkarson", "Aaron Hurley"]
|
8
8
|
s.email = ["birkirb@stoicviking.net"]
|
9
9
|
s.homepage = "https://github.com/birkirb/hue-lib"
|
data/lib/hue.rb
CHANGED
@@ -18,7 +18,7 @@ module Hue
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def self.register_default
|
21
|
-
if
|
21
|
+
if (Hue::Config::Application.default rescue nil)
|
22
22
|
raise Hue::Error.new(ERROR_DEFAULT_EXISTS)
|
23
23
|
else
|
24
24
|
bridge_config = register_bridges.values.first # Assuming one bridge for now
|
@@ -85,6 +85,7 @@ ST: ssdp:all
|
|
85
85
|
end
|
86
86
|
|
87
87
|
rescue Hue::Error
|
88
|
+
logger.info("UDPSocket timed out.")
|
88
89
|
bridges
|
89
90
|
end
|
90
91
|
|
data/lib/hue/bulb.rb
CHANGED
@@ -163,7 +163,7 @@ module Hue
|
|
163
163
|
def flash
|
164
164
|
self.alert = 'select'
|
165
165
|
# immediately update to expected state
|
166
|
-
|
166
|
+
status['state']['alert'] = NONE
|
167
167
|
end
|
168
168
|
|
169
169
|
# transition time in seconds
|
@@ -197,9 +197,9 @@ module Hue
|
|
197
197
|
end
|
198
198
|
end
|
199
199
|
|
200
|
-
def set_status(settings,
|
200
|
+
def set_status(settings, start_key = nil)
|
201
201
|
if @status
|
202
|
-
status =
|
202
|
+
status = start_key ? @status[start_key] : @status
|
203
203
|
settings.each do |key, value|
|
204
204
|
status[key.to_s] = value
|
205
205
|
end
|
data/spec/hue_spec.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper.rb'
|
2
2
|
|
3
3
|
describe Hue do
|
4
|
-
|
5
4
|
mock_application_config_path
|
6
5
|
mock_bridge_config_path
|
7
6
|
|
@@ -21,7 +20,7 @@ describe Hue do
|
|
21
20
|
described_class.application.should be_a(described_class::Bridge)
|
22
21
|
end
|
23
22
|
|
24
|
-
context 'when discovering
|
23
|
+
context 'when discovering a bridge on the network' do
|
25
24
|
it 'should return a list discovered bridges' do
|
26
25
|
bridges = Hue.discover
|
27
26
|
bridges.should == {TEST_UDP_BRIDGE_UUID => TEST_UDP_BRIDGE_URI}
|
@@ -36,6 +35,17 @@ describe Hue do
|
|
36
35
|
end
|
37
36
|
end
|
38
37
|
|
38
|
+
context 'when attempting discover without a bridge on the network' do
|
39
|
+
before(:each) do
|
40
|
+
mock_udp_no_reply
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should return an empty list of bridges' do
|
44
|
+
bridges = Hue.discover
|
45
|
+
bridges.should == {}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
39
49
|
context 'after discovering bridges' do
|
40
50
|
before(:each) do
|
41
51
|
mock_udp_replies(TEST_BRIDGE_UUID, 'new_host')
|
@@ -64,7 +74,7 @@ describe Hue do
|
|
64
74
|
with_temp_config_path do
|
65
75
|
with_fake_post(nil, {}, 'post_success', TEST_UDP_BRIDGE_URI)
|
66
76
|
with_stdout(/Registering app...(.*)$/) do
|
67
|
-
|
77
|
+
described_class.register_default
|
68
78
|
end
|
69
79
|
end
|
70
80
|
end
|
@@ -72,7 +82,7 @@ describe Hue do
|
|
72
82
|
it 'should allow un-registering the default' do
|
73
83
|
with_temp_config_path(true) do
|
74
84
|
with_fake_delete("config/whitelist/#{TEST_APPLICATION_UUID}")
|
75
|
-
|
85
|
+
described_class.remove_default
|
76
86
|
end
|
77
87
|
end
|
78
88
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -107,6 +107,20 @@ def mock_udp_replies(uuid = TEST_UDP_BRIDGE_UUID, hostname = TEST_UDP_BRIDGE_HOS
|
|
107
107
|
UDPSocket.stubs(:new).returns(socket)
|
108
108
|
end
|
109
109
|
|
110
|
+
def mock_udp_no_reply
|
111
|
+
socket = Object.new
|
112
|
+
socket.stubs(:send).returns(nil)
|
113
|
+
socket.instance_eval do
|
114
|
+
def recvfrom(args)
|
115
|
+
while(true) do
|
116
|
+
# Waiting for timeout.
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
UDPSocket.stubs(:new).returns(socket)
|
121
|
+
end
|
122
|
+
|
123
|
+
|
110
124
|
# BRIDGE - API CALLS
|
111
125
|
|
112
126
|
TEST_BRIDGE_URI = 'http://localhost/api'
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hue-lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Birkir A. Barkarson
|
@@ -10,75 +9,67 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2015-08-02 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: json
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - '>='
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: rspec
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - '>='
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: 2.6.0
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - '>='
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: 2.6.0
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: mocha
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - '>='
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: 0.9.0
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - '>='
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: 0.9.0
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: webmock
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - '>='
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: 1.8.0
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - '>='
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: 1.8.0
|
79
|
-
description:
|
80
|
-
|
81
|
-
|
70
|
+
description: |-
|
71
|
+
Library allowing registration and invocation of a registered Philips Hue app.
|
72
|
+
Convinient objects allow executing commands on the bridge or individual bulbs.
|
82
73
|
email:
|
83
74
|
- birkirb@stoicviking.net
|
84
75
|
executables: []
|
@@ -134,26 +125,25 @@ files:
|
|
134
125
|
- test/connectivity.rb
|
135
126
|
homepage: https://github.com/birkirb/hue-lib
|
136
127
|
licenses: []
|
128
|
+
metadata: {}
|
137
129
|
post_install_message:
|
138
130
|
rdoc_options: []
|
139
131
|
require_paths:
|
140
132
|
- lib
|
141
133
|
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
134
|
requirements:
|
144
|
-
- -
|
135
|
+
- - '>='
|
145
136
|
- !ruby/object:Gem::Version
|
146
137
|
version: '0'
|
147
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
139
|
requirements:
|
150
|
-
- -
|
140
|
+
- - '>='
|
151
141
|
- !ruby/object:Gem::Version
|
152
142
|
version: '0'
|
153
143
|
requirements: []
|
154
144
|
rubyforge_project: hue-lib
|
155
|
-
rubygems_version:
|
145
|
+
rubygems_version: 2.0.3
|
156
146
|
signing_key:
|
157
|
-
specification_version:
|
147
|
+
specification_version: 4
|
158
148
|
summary: Ruby library for controlling the Philips Hue system's lights and bridge.
|
159
149
|
test_files: []
|