lelylan-rb 0.0.4 → 0.0.5
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.
- data/.gitignore +26 -24
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +87 -0
- data/README.md +23 -57
- data/lib/lelylan/client.rb +2 -0
- data/lib/lelylan/client/category.rb +16 -0
- data/lib/lelylan/client/physical.rb +1 -6
- data/lib/lelylan/version.rb +1 -1
- data/spec/fixtures/categories.json +1 -7
- data/spec/lelylan/client/category_spec.rb +28 -0
- metadata +34 -32
- data/spec/fixtures/category.json +0 -7
data/.gitignore
CHANGED
@@ -1,27 +1,29 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
2
|
+
#
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
5
|
+
# git config --global core.excludesfile ~/.gitignore_global
|
6
|
+
|
7
|
+
# Ignore temporary files
|
3
8
|
*.swp
|
4
9
|
*.swo
|
5
|
-
*.tmproj
|
6
10
|
*.DS_Store
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
.
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
test
|
26
|
-
tmp
|
27
|
-
tmtags
|
11
|
+
|
12
|
+
# Ignore bundler config.
|
13
|
+
/.bundle
|
14
|
+
|
15
|
+
# Ignore all logfiles and tempfiles.
|
16
|
+
/log/*.log
|
17
|
+
/tmp
|
18
|
+
|
19
|
+
# Ignore .rvmrc file.
|
20
|
+
/.rvmrc
|
21
|
+
|
22
|
+
# Procfile env
|
23
|
+
*.env
|
24
|
+
|
25
|
+
# Documentation
|
26
|
+
docs/
|
27
|
+
|
28
|
+
# Local tests
|
29
|
+
.test.rb
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
lelylan-rb (0.0.5)
|
5
|
+
addressable (~> 2.2)
|
6
|
+
faraday (~> 0.8)
|
7
|
+
faraday_middleware (~> 0.8)
|
8
|
+
hashie (~> 1.2)
|
9
|
+
multi_json (~> 1.3)
|
10
|
+
oauth2 (~> 0.8)
|
11
|
+
|
12
|
+
GEM
|
13
|
+
remote: https://rubygems.org/
|
14
|
+
specs:
|
15
|
+
addressable (2.3.2)
|
16
|
+
coderay (1.0.8)
|
17
|
+
crack (0.3.2)
|
18
|
+
diff-lcs (1.1.3)
|
19
|
+
faraday (0.8.4)
|
20
|
+
multipart-post (~> 1.1)
|
21
|
+
faraday_middleware (0.9.0)
|
22
|
+
faraday (>= 0.7.4, < 0.9)
|
23
|
+
fuubar (1.1.0)
|
24
|
+
rspec (~> 2.0)
|
25
|
+
rspec-instafail (~> 0.2.0)
|
26
|
+
ruby-progressbar (~> 1.0.0)
|
27
|
+
growl (1.0.3)
|
28
|
+
guard (1.6.1)
|
29
|
+
listen (>= 0.6.0)
|
30
|
+
lumberjack (>= 1.0.2)
|
31
|
+
pry (>= 0.9.10)
|
32
|
+
thor (>= 0.14.6)
|
33
|
+
guard-rspec (2.4.0)
|
34
|
+
guard (>= 1.1)
|
35
|
+
rspec (~> 2.11)
|
36
|
+
hashie (1.2.0)
|
37
|
+
httpauth (0.2.0)
|
38
|
+
json (1.7.6)
|
39
|
+
jwt (0.1.5)
|
40
|
+
multi_json (>= 1.0)
|
41
|
+
listen (0.7.2)
|
42
|
+
lumberjack (1.0.2)
|
43
|
+
method_source (0.8.1)
|
44
|
+
multi_json (1.5.0)
|
45
|
+
multipart-post (1.1.5)
|
46
|
+
oauth2 (0.8.0)
|
47
|
+
faraday (~> 0.8)
|
48
|
+
httpauth (~> 0.1)
|
49
|
+
jwt (~> 0.1.4)
|
50
|
+
multi_json (~> 1.0)
|
51
|
+
rack (~> 1.2)
|
52
|
+
pry (0.9.11.4)
|
53
|
+
coderay (~> 1.0.5)
|
54
|
+
method_source (~> 0.8)
|
55
|
+
slop (~> 3.4)
|
56
|
+
rack (1.5.0)
|
57
|
+
rake (10.0.3)
|
58
|
+
rb-fsevent (0.9.3)
|
59
|
+
rspec (2.12.0)
|
60
|
+
rspec-core (~> 2.12.0)
|
61
|
+
rspec-expectations (~> 2.12.0)
|
62
|
+
rspec-mocks (~> 2.12.0)
|
63
|
+
rspec-core (2.12.2)
|
64
|
+
rspec-expectations (2.12.1)
|
65
|
+
diff-lcs (~> 1.1.3)
|
66
|
+
rspec-instafail (0.2.4)
|
67
|
+
rspec-mocks (2.12.1)
|
68
|
+
ruby-progressbar (1.0.2)
|
69
|
+
slop (3.4.3)
|
70
|
+
thor (0.17.0)
|
71
|
+
webmock (1.9.0)
|
72
|
+
addressable (>= 2.2.7)
|
73
|
+
crack (>= 0.1.7)
|
74
|
+
|
75
|
+
PLATFORMS
|
76
|
+
ruby
|
77
|
+
|
78
|
+
DEPENDENCIES
|
79
|
+
fuubar
|
80
|
+
growl
|
81
|
+
guard-rspec
|
82
|
+
json
|
83
|
+
lelylan-rb!
|
84
|
+
rake
|
85
|
+
rb-fsevent
|
86
|
+
rspec
|
87
|
+
webmock
|
data/README.md
CHANGED
@@ -2,14 +2,13 @@
|
|
2
2
|
|
3
3
|
Ruby client library for [Lelylan API](http://dev.lelylan.com)
|
4
4
|
|
5
|
-
##
|
5
|
+
## Introduction
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
#### What is Lelylan
|
8
|
+
|
9
|
+
[Lelylan](http://lelylan.com) makes it easy for developers to monitor and control all devices
|
10
|
+
in your house providing a simple and consistent REST API.
|
10
11
|
|
11
|
-
With Lelylan developers can build secure applications and services that use real-time data
|
12
|
-
coming from the real world to create the future connected house.
|
13
12
|
|
14
13
|
## Requirements
|
15
14
|
|
@@ -28,7 +27,7 @@ gem 'oauth2'
|
|
28
27
|
Development version.
|
29
28
|
|
30
29
|
```ruby
|
31
|
-
gem 'lelylan-rb', require: 'lelylan', git: 'https://github.com/lelylan/lelylan-rb'
|
30
|
+
gem 'lelylan-rb', require: 'lelylan', git: 'https://github.com/lelylan/lelylan-rb'
|
32
31
|
```
|
33
32
|
|
34
33
|
## Getting started
|
@@ -91,54 +90,20 @@ subscriptions = lelylan.subscriptions
|
|
91
90
|
|
92
91
|
### Implemented Services
|
93
92
|
|
94
|
-
|
95
|
-
device. Its final goal is to map every device to a unique URI which provides control over it.
|
96
|
-
[See examples](http://dev.lelylan.com/api/devices#ruby).
|
97
|
-
|
98
|
-
**Activations** - Easy way to move the device ownership between people.
|
99
|
-
[See examples](http://dev.lelylan.com/api/devices#ruby).
|
100
|
-
|
101
|
-
**Histories** - When a device updates its properties or executes a function a new history
|
102
|
-
resource with a snapshot of all device properties is created by Lelylan, also the ones that
|
103
|
-
has not been updated. This makes it easy to recreate previous device status and extract usage
|
104
|
-
patterns to improve the way people live their house.
|
105
|
-
[See examples](http://dev.lelylan.com/api/devices/histories#ruby).
|
106
|
-
|
107
|
-
**Types** - A type describes the structure of a device. In its simplest form every type can be
|
108
|
-
defined as the combination of three key elements: properties (what vary during time), functions
|
109
|
-
(what a device can do), statuses (what a device is in a specific time of its life).
|
110
|
-
[See examples](http://dev.lelylan.com/api/types#ruby).
|
111
|
-
|
112
|
-
**Properties** - A property is whatever vary in a device during time. It can be the intensity in
|
113
|
-
a dimmer, the temperature in a cooling system or the volume in a television.
|
114
|
-
[See examples](http://dev.lelylan.com/api/types/properties#ruby).
|
115
|
-
|
116
|
-
**Functions** - Functions defines the daily interactions you have with the devices in your house,
|
117
|
-
for example when you turn on a light, close a door or raise the temperature in a room.
|
118
|
-
With functions you can control any device in the same way you do everyday of your life.
|
119
|
-
[See examples](http://dev.lelylan.com/api/types/functions#ruby).
|
93
|
+
Learn how to use Lelylan and AngulasJS in deep.
|
120
94
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
[
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
[
|
131
|
-
|
132
|
-
|
133
|
-
like lights, appliances, alarms and more. To enable the communication between Lelylan and
|
134
|
-
physical devices they should provide a simple set of web services.
|
135
|
-
[See examples](http://dev.lelylan.com/api/physicals#ruby).
|
136
|
-
|
137
|
-
**Subscriptions** - Get realtime updates by subscribing to a resource and its related event.
|
138
|
-
[See examples](http://dev.lelylan.com/api/realtime#ruby).
|
139
|
-
|
140
|
-
**User Profile** - Returns extended information for the authenticated user.
|
141
|
-
[See examples](http://dev.lelylan.com/api/core#get-a-user-ruby).
|
95
|
+
- [x] [Devices](http://dev.lelylan.com/api/devices#angular).
|
96
|
+
- [x] [Activations](http://dev.lelylan.com/api/devices#angular).
|
97
|
+
- [x] [Histories](http://dev.lelylan.com/api/devices/histories#angular).
|
98
|
+
- [x] [Types](http://dev.lelylan.com/api/types#angular).
|
99
|
+
- [x] [Properties](http://dev.lelylan.com/api/types/properties#angular).
|
100
|
+
- [x] [Functions](http://dev.lelylan.com/api/types/functions#angular).
|
101
|
+
- [x] [Statuses](http://dev.lelylan.com/api/types/statuses#angular).
|
102
|
+
- [x] [Locations](http://dev.lelylan.com/api/locations#angular).
|
103
|
+
- [x] [Physical devices](http://dev.lelylan.com/api/physicals#angular).
|
104
|
+
- [x] [Subscriptions](http://dev.lelylan.com/api/realtime#angular).
|
105
|
+
- [x] [User Profile](http://dev.lelylan.com/api/core#get-a-user-angular).
|
106
|
+
- [x] [OAuth2](http://dev.lelylan.com/api/oauth#implicit-grant-angular).
|
142
107
|
|
143
108
|
|
144
109
|
### Authorization flows
|
@@ -175,9 +140,12 @@ Exceptions are raised when a 4xx or 5xx status code is returned.
|
|
175
140
|
|
176
141
|
Lelylan::BadRequest # 400
|
177
142
|
Lelylan::Unauthorized # 401
|
143
|
+
Lelylan::Forbidden # 403
|
178
144
|
Lelylan::NotFound # 404
|
145
|
+
Lelylan::NotAcceptable # 406
|
179
146
|
Lelylan::NotValid # 422
|
180
147
|
Lelylan::InternalServerError # 500
|
148
|
+
Lelylan::NotImplemented # 501
|
181
149
|
Lelylan::BadGateway # 502
|
182
150
|
Lelylan::ServiceUnavailable # 503
|
183
151
|
|
@@ -195,7 +163,7 @@ end
|
|
195
163
|
Unluckily the `#message` method can only be a string. For this reason we
|
196
164
|
can't return a JSON structure when lelylan offers it, but we return the
|
197
165
|
`error.description` value.
|
198
|
-
Learn more about
|
166
|
+
Learn more about [errors on Lelylan](http://dev.lelylan.com/api/core#errors).
|
199
167
|
|
200
168
|
|
201
169
|
### Configurations
|
@@ -216,8 +184,6 @@ lelylan = Lelylan::Client.new(token: token)
|
|
216
184
|
lelylan.endpoint = 'https://lelylan.yourhouse.com'
|
217
185
|
```
|
218
186
|
|
219
|
-
Learn more about the [error response structure](http://dev.lelylan.com/api/core#errors).
|
220
|
-
|
221
187
|
|
222
188
|
## Contributing
|
223
189
|
|
data/lib/lelylan/client.rb
CHANGED
@@ -9,6 +9,7 @@ require 'lelylan/client/type'
|
|
9
9
|
require 'lelylan/client/property'
|
10
10
|
require 'lelylan/client/function'
|
11
11
|
require 'lelylan/client/status'
|
12
|
+
require 'lelylan/client/category'
|
12
13
|
require 'lelylan/client/location'
|
13
14
|
require 'lelylan/client/subscription'
|
14
15
|
require 'lelylan/client/physical'
|
@@ -37,6 +38,7 @@ module Lelylan
|
|
37
38
|
include Lelylan::Client::Property
|
38
39
|
include Lelylan::Client::Function
|
39
40
|
include Lelylan::Client::Status
|
41
|
+
include Lelylan::Client::Category
|
40
42
|
include Lelylan::Client::Location
|
41
43
|
include Lelylan::Client::Subscription
|
42
44
|
include Lelylan::Client::Physical
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Lelylan
|
2
|
+
class Client
|
3
|
+
module Category
|
4
|
+
|
5
|
+
# Public: Returns a list of categories related to owned devices.
|
6
|
+
#
|
7
|
+
# params - The Hash used to refine the search (default: {}).
|
8
|
+
#
|
9
|
+
# Returns Array list of categories.
|
10
|
+
#
|
11
|
+
def categories(params = {})
|
12
|
+
get('/categories', params)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -19,11 +19,7 @@ module Lelylan
|
|
19
19
|
# Returns Hashie The JSON resource.
|
20
20
|
#
|
21
21
|
def physical_properties(uri, secret, params)
|
22
|
-
|
23
|
-
|
24
|
-
digest = OpenSSL::Digest::Digest.new('sha1')
|
25
|
-
signature = OpenSSL::HMAC.hexdigest(digest, secret, params.to_json.to_s)
|
26
|
-
headers = { 'X-Physical-Signature' => signature }
|
22
|
+
headers = { 'X-Physical-Secret' => secret }
|
27
23
|
|
28
24
|
request = Faraday.new do |builder|
|
29
25
|
builder.request :json
|
@@ -34,7 +30,6 @@ module Lelylan
|
|
34
30
|
end
|
35
31
|
|
36
32
|
response = request.put(uri, params, headers)
|
37
|
-
|
38
33
|
response.body
|
39
34
|
end
|
40
35
|
end
|
data/lib/lelylan/version.rb
CHANGED
@@ -1,7 +1 @@
|
|
1
|
-
[{
|
2
|
-
"uri": "http://www.example.com/categories/500425f5d033a9b4ac000003",
|
3
|
-
"id": "500425f5d033a9b4ac000003",
|
4
|
-
"name": "Lighting",
|
5
|
-
"created_at": "2012-07-16T14:32:21Z",
|
6
|
-
"updated_at": "2012-07-16T14:32:21Z"
|
7
|
-
}]
|
1
|
+
[{"name":"lights"},{"name":"locks"},{"name":"thermostats"},{"name":"alarms"},{"name":"meters"},{"name":"cameras"},{"name":"windows"},{"name":"appliances"},{"name":"gardenings"},{"name":"sensors"},{"name":"others"}]
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Lelylan::Client::Category do
|
4
|
+
|
5
|
+
let(:lelylan) do
|
6
|
+
a_client
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
describe '#categories' do
|
11
|
+
|
12
|
+
before do
|
13
|
+
stub_get('/categories').with(query: { per: 10 }).to_return(body: fixture('categories.json'))
|
14
|
+
end
|
15
|
+
|
16
|
+
let!(:categories) do
|
17
|
+
lelylan.categories(per: 10)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'returns the categories' do
|
21
|
+
categories.first.name.should_not be_nil
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'sends the request' do
|
25
|
+
a_get('/categories').with(query: { per: 10 }).should have_been_made
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lelylan-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
16
|
-
requirement: &
|
16
|
+
requirement: &2164363120 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '2.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2164363120
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: oauth2
|
27
|
-
requirement: &
|
27
|
+
requirement: &2164362600 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0.8'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2164362600
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: faraday
|
38
|
-
requirement: &
|
38
|
+
requirement: &2164361820 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0.8'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2164361820
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday_middleware
|
49
|
-
requirement: &
|
49
|
+
requirement: &2164360980 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.8'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2164360980
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hashie
|
60
|
-
requirement: &
|
60
|
+
requirement: &2164360480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '1.2'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2164360480
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: multi_json
|
71
|
-
requirement: &
|
71
|
+
requirement: &2164359960 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.3'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2164359960
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: json
|
82
|
-
requirement: &
|
82
|
+
requirement: &2164359440 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2164359440
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rake
|
93
|
-
requirement: &
|
93
|
+
requirement: &2164358840 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *2164358840
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rspec
|
104
|
-
requirement: &
|
104
|
+
requirement: &2164358160 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *2164358160
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: webmock
|
115
|
-
requirement: &
|
115
|
+
requirement: &2164357520 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *2164357520
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: guard-rspec
|
126
|
-
requirement: &
|
126
|
+
requirement: &2164357020 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *2164357020
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: fuubar
|
137
|
-
requirement: &
|
137
|
+
requirement: &2164356520 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *2164356520
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: growl
|
148
|
-
requirement: &
|
148
|
+
requirement: &2164355840 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *2164355840
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: rb-fsevent
|
159
|
-
requirement: &
|
159
|
+
requirement: &2164355200 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,7 +164,7 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *2164355200
|
168
168
|
description: Ruby wrapper for Lelylan API
|
169
169
|
email:
|
170
170
|
- touch@lelylan.com
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- .gitignore
|
176
176
|
- CHANGELOG.md
|
177
177
|
- Gemfile
|
178
|
+
- Gemfile.lock
|
178
179
|
- Guardfile
|
179
180
|
- LICENSE.md
|
180
181
|
- README.md
|
@@ -184,6 +185,7 @@ files:
|
|
184
185
|
- lib/lelylan.rb
|
185
186
|
- lib/lelylan/authentication.rb
|
186
187
|
- lib/lelylan/client.rb
|
188
|
+
- lib/lelylan/client/category.rb
|
187
189
|
- lib/lelylan/client/device.rb
|
188
190
|
- lib/lelylan/client/function.rb
|
189
191
|
- lib/lelylan/client/history.rb
|
@@ -201,7 +203,6 @@ files:
|
|
201
203
|
- lib/lelylan/version.rb
|
202
204
|
- spec/faraday/response_spec.rb
|
203
205
|
- spec/fixtures/categories.json
|
204
|
-
- spec/fixtures/category.json
|
205
206
|
- spec/fixtures/consumption.json
|
206
207
|
- spec/fixtures/consumptions.json
|
207
208
|
- spec/fixtures/device.json
|
@@ -228,6 +229,7 @@ files:
|
|
228
229
|
- spec/fixtures/type.json
|
229
230
|
- spec/fixtures/types.json
|
230
231
|
- spec/helper.rb
|
232
|
+
- spec/lelylan/client/category_spec.rb
|
231
233
|
- spec/lelylan/client/device_spec.rb
|
232
234
|
- spec/lelylan/client/function_spec.rb
|
233
235
|
- spec/lelylan/client/history_spec.rb
|
@@ -269,7 +271,6 @@ summary: Ruby wrapper for Lelylan API
|
|
269
271
|
test_files:
|
270
272
|
- spec/faraday/response_spec.rb
|
271
273
|
- spec/fixtures/categories.json
|
272
|
-
- spec/fixtures/category.json
|
273
274
|
- spec/fixtures/consumption.json
|
274
275
|
- spec/fixtures/consumptions.json
|
275
276
|
- spec/fixtures/device.json
|
@@ -296,6 +297,7 @@ test_files:
|
|
296
297
|
- spec/fixtures/type.json
|
297
298
|
- spec/fixtures/types.json
|
298
299
|
- spec/helper.rb
|
300
|
+
- spec/lelylan/client/category_spec.rb
|
299
301
|
- spec/lelylan/client/device_spec.rb
|
300
302
|
- spec/lelylan/client/function_spec.rb
|
301
303
|
- spec/lelylan/client/history_spec.rb
|