lex-sleepiq 0.2.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e8e532e9e80d1f4308caa997f6bf6b2b732c1cd64f73d0786ad1677abcf3dce
4
- data.tar.gz: 3a00aecc1c6625b478242d305ed5a3c6ed768b03770a02764f72dc7f41dee923
3
+ metadata.gz: 0d6ed4c2ab24ee380667a559e65445815d6427dec70bf65d7efd4869d9b98b6d
4
+ data.tar.gz: dae5536d6035f67546136f12ffe1fc52d602bdffc8dd5eeba120fec2313c4cd7
5
5
  SHA512:
6
- metadata.gz: 78ad35426caa807a854742b51cbd3f746a8203521efa964c2d2abc2ff78e65d0882b422faf6f68b6cb79ee7194006de2e34a344ba8b44f6ed62e7a5edfa64416
7
- data.tar.gz: 783b61aef6bbf873291e462815df40c2073d6d53769a9621adf6de92eff3fb4a1905f4b94ebc0a3d94a0186eb6a36cff1a7be01117b8cd3387283511fc13c901
6
+ metadata.gz: 4a0f18c13c3999525e71e3b5e0ad2e28f7b1af718705a050a6db6bba15d2c269ac5bba5113d73c1a193ae5c2059e021817f380d83bcd3584c345218674406ef2
7
+ data.tar.gz: 8cf8d948c812075b068479e25737a0d43999831f2dea87a018d6d62fe8c1049d96bb27076f88173ed91d4bd4ae1939669d768402ee9e8ce8e5c215c14014d909
metadata CHANGED
@@ -1,141 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-sleepiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-10-14 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  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: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: codecov
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: rake
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: :development
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: rspec_junit_formatter
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop-md
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-performance
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
12
  - !ruby/object:Gem::Dependency
140
13
  name: sleepiq
141
14
  requirement: !ruby/object:Gem::Requirement
@@ -156,33 +29,17 @@ email:
156
29
  executables: []
157
30
  extensions: []
158
31
  extra_rdoc_files: []
159
- files:
160
- - ".circleci/config.yml"
161
- - ".gitignore"
162
- - ".rspec"
163
- - ".rubocop.yml"
164
- - Gemfile
165
- - LICENSE.txt
166
- - README.md
167
- - Rakefile
168
- - lex-sleepiq.gemspec
169
- - lib/legion/extensions/sleepiq.rb
170
- - lib/legion/extensions/sleepiq/actors/poll.rb
171
- - lib/legion/extensions/sleepiq/helpers/client.rb
172
- - lib/legion/extensions/sleepiq/runners/bed.rb
173
- - lib/legion/extensions/sleepiq/runners/family.rb
174
- - lib/legion/extensions/sleepiq/runners/foundation.rb
175
- - lib/legion/extensions/sleepiq/runners/pump.rb
176
- - lib/legion/extensions/sleepiq/runners/sleeper.rb
177
- - lib/legion/extensions/sleepiq/version.rb
178
- homepage: https://bitbucket.org/legion-io/lex-sleepiq
32
+ files: []
33
+ homepage: https://github.com/LegionIO/lex-sleepiq
179
34
  licenses:
180
35
  - MIT
181
36
  metadata:
182
- homepage_uri: https://bitbucket.org/legion-io/lex-sleepiq
183
- source_code_uri: https://bitbucket.org/legion-io/lex-sleepiq
184
- changelog_uri: https://bitbucket.org/legion-io/lex-sleepiq/CHANGELOG.md
185
- post_install_message:
37
+ homepage_uri: https://github.com/LegionIO/lex-sleepiq
38
+ source_code_uri: https://github.com/LegionIO/lex-sleepiq
39
+ documentation_uri: https://github.com/LegionIO/lex-sleepiq
40
+ changelog_uri: https://github.com/LegionIO/lex-sleepiq
41
+ bug_tracker_uri: https://github.com/LegionIO/lex-sleepiq/issues
42
+ rubygems_mfa_required: 'true'
186
43
  rdoc_options: []
187
44
  require_paths:
188
45
  - lib
@@ -190,15 +47,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
47
  requirements:
191
48
  - - ">="
192
49
  - !ruby/object:Gem::Version
193
- version: 2.5.0
50
+ version: '3.4'
194
51
  required_rubygems_version: !ruby/object:Gem::Requirement
195
52
  requirements:
196
53
  - - ">="
197
54
  - !ruby/object:Gem::Version
198
55
  version: '0'
199
56
  requirements: []
200
- rubygems_version: 3.1.2
201
- signing_key:
57
+ rubygems_version: 3.6.9
202
58
  specification_version: 4
203
59
  summary: LEX::SleepIQ
204
60
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,61 +0,0 @@
1
- version: 2.1
2
- orbs:
3
- ruby: circleci/ruby@0.2.1
4
-
5
- jobs:
6
- "rubocop":
7
- docker:
8
- - image: circleci/ruby:2.5-node
9
- steps:
10
- - checkout
11
- - ruby/load-cache
12
- - ruby/install-deps
13
- - run:
14
- name: Run Rubocop
15
- command: bundle exec rubocop
16
- - ruby/save-cache
17
- "ruby-two-five":
18
- docker:
19
- - image: circleci/ruby:2.5
20
- - image: memcached:1.5-alpine
21
- steps:
22
- - checkout
23
- - ruby/load-cache
24
- - ruby/install-deps
25
- - ruby/run-tests
26
- - ruby/save-cache
27
- "ruby-two-six":
28
- docker:
29
- - image: circleci/ruby:2.6
30
- - image: memcached:1.5-alpine
31
- steps:
32
- - checkout
33
- - ruby/load-cache
34
- - ruby/install-deps
35
- - ruby/run-tests
36
- - ruby/save-cache
37
- "ruby-two-seven":
38
- docker:
39
- - image: circleci/ruby:2.7
40
- - image: memcached:1.5-alpine
41
- steps:
42
- - checkout
43
- - ruby/load-cache
44
- - ruby/install-deps
45
- - ruby/run-tests
46
- - ruby/save-cache
47
-
48
- workflows:
49
- version: 2
50
- rubocop-rspec:
51
- jobs:
52
- - rubocop
53
- - ruby-two-five:
54
- requires:
55
- - rubocop
56
- - ruby-two-six:
57
- requires:
58
- - ruby-two-five
59
- - ruby-two-seven:
60
- requires:
61
- - ruby-two-five
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,31 +0,0 @@
1
- Layout/LineLength:
2
- Max: 120
3
- Metrics/MethodLength:
4
- Max: 30
5
- Metrics/ClassLength:
6
- Max: 1500
7
- Metrics/BlockLength:
8
- Max: 50
9
- Metrics/AbcSize:
10
- Max: 20
11
- Lint/UnusedMethodArgument:
12
- Exclude:
13
- - lib/legion/extensions/sleepiq/runners/*.rb
14
- Layout/SpaceAroundEqualsInParameterDefault:
15
- EnforcedStyle: space
16
- Style/SymbolArray:
17
- Enabled: true
18
- Layout/HashAlignment:
19
- EnforcedHashRocketStyle: table
20
- EnforcedColonStyle: table
21
- Style/Documentation:
22
- Enabled: false
23
- AllCops:
24
- TargetRubyVersion: 2.5
25
- NewCops: enable
26
- Style/FrozenStringLiteralComment:
27
- Enabled: false
28
- Naming/FileName:
29
- Enabled: false
30
- Style/ClassAndModuleChildren:
31
- Enabled: false
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2019 miverso2
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
data/README.md DELETED
@@ -1,49 +0,0 @@
1
- # Legion::Extensions::Sleepiq
2
-
3
- A Legion Extension designed to connect with SleepIQ by Sleep Number
4
- Uses the [sleepiq](https://rubygems.org/gems/sleepiq) gem
5
-
6
- ## Installation
7
-
8
- Add this line to your application's Gemfile:
9
-
10
- ```ruby
11
- gem 'lex-sleepiq'
12
- ```
13
-
14
- And then execute:
15
-
16
- $ bundle install
17
-
18
- Or install it yourself as:
19
-
20
- $ gem install lex-sleepiq
21
-
22
- ## Adding to Legion
23
- You can manually install with a `gem install lex-http` command or by adding it into your settings with something like this
24
- ```json
25
- {
26
- "extensions": {
27
- "sleepiq": {
28
- "enabled": true,
29
- "workers": 1,
30
- "username": "*sleep_iq_username*",
31
- "password": "*sleep_iq_password*"
32
- }
33
- }
34
- }
35
- ```
36
-
37
- ##### Runners
38
- |runner|description|completed?|
39
- |---|---|---|
40
- |bed|Bed functions|no|
41
- |family|used to query the family endpoint to get a summary|yes|
42
- |foundation|used to control and query foundations|no|
43
- |pump|used to control and query the pump|yes|
44
- |sleeper|Used to query the sleeper endpoint|no|
45
-
46
- ## Usage
47
- Control and query your bed. `Legion::Extensions::Sleepiq::Actors::Poll` will automatically every 10 seconds. This
48
- will include things like person in bed status and the pump pressure
49
-
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task default: :spec
data/lex-sleepiq.gemspec DELETED
@@ -1,38 +0,0 @@
1
- lib = File.expand_path('lib', __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'legion/extensions/sleepiq/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'lex-sleepiq'
7
- spec.version = Legion::Extensions::Sleepiq::VERSION
8
- spec.authors = ['Esity']
9
- spec.email = ['matthewdiverson@gmail.com']
10
-
11
- spec.summary = 'LEX::SleepIQ'
12
- spec.description = 'Used to connect Legion to Sleep Number SleepIQ API'
13
- spec.homepage = 'https://bitbucket.org/legion-io/lex-sleepiq'
14
- spec.license = 'MIT'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
16
-
17
- spec.metadata['homepage_uri'] = spec.homepage
18
- spec.metadata['source_code_uri'] = 'https://bitbucket.org/legion-io/lex-sleepiq'
19
- spec.metadata['changelog_uri'] = 'https://bitbucket.org/legion-io/lex-sleepiq/CHANGELOG.md'
20
-
21
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
- end
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
- spec.require_paths = ['lib']
26
-
27
- spec.add_development_dependency 'bundler'
28
- spec.add_development_dependency 'codecov'
29
- spec.add_development_dependency 'rake'
30
- spec.add_development_dependency 'rspec'
31
- spec.add_development_dependency 'rspec_junit_formatter'
32
- spec.add_development_dependency 'rubocop'
33
- spec.add_development_dependency 'rubocop-md'
34
- spec.add_development_dependency 'rubocop-performance'
35
- spec.add_development_dependency 'rubocop-rspec'
36
-
37
- spec.add_dependency 'sleepiq', '>= 0.3.0'
38
- end
@@ -1,17 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Actor
3
- class Poll < Legion::Extensions::Actors::Poll
4
- def runner_class
5
- Legion::Extensions::Sleepiq::Runners::Family
6
- end
7
-
8
- def runner_function
9
- 'family_status'
10
- end
11
-
12
- def int_percentage_normalize
13
- 0.02
14
- end
15
- end
16
- end
17
- end
@@ -1,41 +0,0 @@
1
- require 'sleepiq'
2
-
3
- module Legion::Extensions::Sleepiq
4
- module Helpers
5
- module Client
6
- def client(**_opts)
7
- @awsalb = Legion::Cache.get('sleepiq_awsalb')
8
- @bedid = Legion::Cache.get('sleepiq_bedid')
9
- @key = Legion::Cache.get('sleepiq_key')
10
- @sessid = Legion::Cache.get('sleepiq_sessid')
11
-
12
- login if @awsalb.nil? || @key.nil? || @sessid.nil?
13
- ::SleepIQ::Client.new(awsalb: @awsalb, key: @key, sessid: @sessid, bedid: @bedid)
14
- rescue StandardError => e
15
- Legion::Logging.fatal e.message
16
- Legion::Logging.fatal e.backtrace
17
- raise(e)
18
- end
19
-
20
- def login
21
- result = ::SleepIQ::Client.new(username: username, password: password)
22
- Legion::Cache.set('sleepiq_sessid', result.sessid, ttl: 600)
23
- @sessid = result.sessid
24
- Legion::Cache.set('sleepiq_awsalb', result.awsalb, ttl: 600)
25
- @awsalb = result.awsalb
26
- Legion::Cache.set('sleepiq_key', result.key, ttl: 600)
27
- @key = result.key
28
- Legion::Cache.set('sleepiq_bedid', result.bedid, ttl: 600)
29
- @bedid = result.bedid
30
- end
31
-
32
- def username(**opts)
33
- @username = find_setting('username', **opts)
34
- end
35
-
36
- def password(**opts)
37
- @password = find_setting('password', **opts)
38
- end
39
- end
40
- end
41
- end
@@ -1,39 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Runners
3
- module Bed
4
- include Legion::Extensions::Helpers::Lex
5
- extend Legion::Extensions::Sleepiq::Helpers::Client
6
- def sleep_number(side: 'R', **)
7
- client.sleep_number(side)
8
- end
9
-
10
- def set_sleep_number(side: 'R', number: 50, **)
11
- client.update_sleep_number(number, side)
12
- end
13
-
14
- def get_sleep_number_favorite(side: 'R', **)
15
- client.sleep_number_fav(side)
16
- end
17
-
18
- def set_sleep_number_favorite(number:, side: 'R', **)
19
- client.update_sleep_number_fav
20
- end
21
-
22
- def status(**)
23
- client.status
24
- end
25
-
26
- def get_pause_mode(**)
27
- client.pause_mode
28
- end
29
-
30
- def set_pause_mode(mode: 'off', **)
31
- client.update_pause_mode(mode)
32
- end
33
-
34
- def get(**)
35
- client.bed
36
- end
37
- end
38
- end
39
- end
@@ -1,15 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Runners
3
- module Family
4
- include Legion::Extensions::Helpers::Lex
5
- extend Legion::Extensions::Sleepiq::Helpers::Client
6
-
7
- def family_status(**)
8
- results = normalize(client.family_status)
9
- results[:beds][0][:leftSide].delete(:lastLink)
10
- results[:beds][0][:rightSide].delete(:lastLink)
11
- results
12
- end
13
- end
14
- end
15
- end
@@ -1,32 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Runners
3
- module Foundation
4
- include Legion::Extensions::Helpers::Lex
5
- extend Legion::Extensions::Sleepiq::Helpers::Client
6
-
7
- def get_light(light: 1, **)
8
- client.light(light)
9
- end
10
-
11
- def set_light(light:, setting: 0, **)
12
- client.set_light(light, setting)
13
- end
14
-
15
- def preset(preset:, side: 'R', slow_speed: 0, **)
16
- client.preset(preset, side, slow_speed)
17
- end
18
-
19
- def stop_motion(side: 'R', **)
20
- client.stop_motion(side)
21
- end
22
-
23
- def status(**)
24
- client.foundation_status
25
- end
26
-
27
- def system(**)
28
- client.system
29
- end
30
- end
31
- end
32
- end
@@ -1,16 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Runners
3
- module Pump
4
- include Legion::Extensions::Helpers::Lex
5
- extend Legion::Extensions::Sleepiq::Helpers::Client
6
-
7
- def pump_status(bedid: nil, **)
8
- normalize(client.pump_status)
9
- end
10
-
11
- def force_idle(bedid: nil, **)
12
- normalize(client.force_idle)
13
- end
14
- end
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- module Legion::Extensions::Sleepiq
2
- module Runners
3
- module Sleeper
4
- include Legion::Extensions::Helpers::Lex
5
- extend Legion::Extensions::Sleepiq::Helpers::Client
6
-
7
- def sleeper(**)
8
- client.sleeper
9
- end
10
-
11
- def sleep_data(date:, interval: 'D1', **)
12
- client.sleep_data(date, interval)
13
- end
14
-
15
- def sleep_slice_data(date:, interval: 'D1', **)
16
- client.sleep_slice_data(date, interval)
17
- end
18
- end
19
- end
20
- end
@@ -1,7 +0,0 @@
1
- module Legion
2
- module Extensions
3
- module Sleepiq
4
- VERSION = '0.2.0'.freeze
5
- end
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- require 'legion/extensions/sleepiq/version'
2
- require 'legion/extensions'
3
-
4
- module Legion
5
- module Extensions
6
- module Sleepiq
7
- extend Legion::Extensions::Core
8
- end
9
- end
10
- end