lelylan-rb 0.0.1

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.
Files changed (62) hide show
  1. data/.gitignore +26 -0
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile +7 -0
  4. data/Guardfile +5 -0
  5. data/LICENSE.md +1 -0
  6. data/README.md +218 -0
  7. data/Rakefile +21 -0
  8. data/lelylan_rb.gemspec +36 -0
  9. data/lib/faraday/response/raise_http_error.rb +35 -0
  10. data/lib/lelylan.rb +26 -0
  11. data/lib/lelylan/authentication.rb +11 -0
  12. data/lib/lelylan/client.rb +47 -0
  13. data/lib/lelylan/client/categories.rb +112 -0
  14. data/lib/lelylan/client/consumptions.rb +93 -0
  15. data/lib/lelylan/client/devices.rb +211 -0
  16. data/lib/lelylan/client/functions.rb +118 -0
  17. data/lib/lelylan/client/histories.rb +42 -0
  18. data/lib/lelylan/client/locations.rb +92 -0
  19. data/lib/lelylan/client/properties.rb +115 -0
  20. data/lib/lelylan/client/statuses.rb +110 -0
  21. data/lib/lelylan/client/types.rb +109 -0
  22. data/lib/lelylan/configuration.rb +65 -0
  23. data/lib/lelylan/connection.rb +33 -0
  24. data/lib/lelylan/error.rb +34 -0
  25. data/lib/lelylan/request.rb +70 -0
  26. data/lib/lelylan/version.rb +15 -0
  27. data/spec/faraday/response_spec.rb +37 -0
  28. data/spec/fixtures/categories.json +7 -0
  29. data/spec/fixtures/category.json +7 -0
  30. data/spec/fixtures/consumption.json +11 -0
  31. data/spec/fixtures/consumptions.json +11 -0
  32. data/spec/fixtures/device.json +25 -0
  33. data/spec/fixtures/devices.json +25 -0
  34. data/spec/fixtures/function.json +15 -0
  35. data/spec/fixtures/functions.json +15 -0
  36. data/spec/fixtures/histories.json +16 -0
  37. data/spec/fixtures/history.json +16 -0
  38. data/spec/fixtures/location.json +55 -0
  39. data/spec/fixtures/locations.json +18 -0
  40. data/spec/fixtures/oauth2/refresh.json +6 -0
  41. data/spec/fixtures/oauth2/token.json +6 -0
  42. data/spec/fixtures/pending.json +12 -0
  43. data/spec/fixtures/properties.json +9 -0
  44. data/spec/fixtures/property.json +9 -0
  45. data/spec/fixtures/status.json +24 -0
  46. data/spec/fixtures/statuses.json +24 -0
  47. data/spec/fixtures/type.json +94 -0
  48. data/spec/fixtures/types.json +88 -0
  49. data/spec/helper.rb +71 -0
  50. data/spec/lelylan/client/categories_spec.rb +178 -0
  51. data/spec/lelylan/client/consumptions_spec.rb +150 -0
  52. data/spec/lelylan/client/devices_spec.rb +342 -0
  53. data/spec/lelylan/client/functions_spec.rb +184 -0
  54. data/spec/lelylan/client/histories_spec.rb +64 -0
  55. data/spec/lelylan/client/locations_spec.rb +155 -0
  56. data/spec/lelylan/client/properties_spec.rb +184 -0
  57. data/spec/lelylan/client/statuses_spec.rb +184 -0
  58. data/spec/lelylan/client/types_spec.rb +184 -0
  59. data/spec/lelylan/client_spec.rb +32 -0
  60. data/spec/lelylan/oauth2_spec.rb +54 -0
  61. data/spec/lelylan_spec.rb +32 -0
  62. metadata +351 -0
@@ -0,0 +1,32 @@
1
+ require 'helper'
2
+
3
+ describe Lelylan do
4
+
5
+ after do
6
+ Lelylan.reset
7
+ end
8
+
9
+ let(:client) do
10
+ a_client
11
+ end
12
+
13
+ describe '.respond_to?' do
14
+ it 'should be true if method exists' do
15
+ Lelylan.respond_to?(:new, true).should be_true
16
+ end
17
+ end
18
+
19
+ describe '.new' do
20
+ it 'should be a Lelylan::Client' do
21
+ Lelylan.new.should be_a Lelylan::Client
22
+ end
23
+ end
24
+
25
+ describe '.delegate' do
26
+ it 'should delegate missing methods to Lelylan::Client' do
27
+ stub_get('/devices').to_return(body: fixture('/devices.json'))
28
+ devices = client.devices
29
+ devices.first.uri.should_not be_nil
30
+ end
31
+ end
32
+ end
metadata ADDED
@@ -0,0 +1,351 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lelylan-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Andrea Reginato
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-12-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: addressable
16
+ requirement: &2152167500 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2152167500
25
+ - !ruby/object:Gem::Dependency
26
+ name: oauth2
27
+ requirement: &2152166740 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '0.8'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2152166740
36
+ - !ruby/object:Gem::Dependency
37
+ name: faraday
38
+ requirement: &2152166060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '0.8'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *2152166060
47
+ - !ruby/object:Gem::Dependency
48
+ name: faraday_middleware
49
+ requirement: &2152165480 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.8'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *2152165480
58
+ - !ruby/object:Gem::Dependency
59
+ name: hashie
60
+ requirement: &2152164860 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '1.2'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *2152164860
69
+ - !ruby/object:Gem::Dependency
70
+ name: multi_json
71
+ requirement: &2152164160 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '1.3'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *2152164160
80
+ - !ruby/object:Gem::Dependency
81
+ name: json
82
+ requirement: &2152163660 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *2152163660
91
+ - !ruby/object:Gem::Dependency
92
+ name: maruku
93
+ requirement: &2152162960 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *2152162960
102
+ - !ruby/object:Gem::Dependency
103
+ name: rake
104
+ requirement: &2152162400 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *2152162400
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec
115
+ requirement: &2152161720 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *2152161720
124
+ - !ruby/object:Gem::Dependency
125
+ name: simplecov
126
+ requirement: &2152160660 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *2152160660
135
+ - !ruby/object:Gem::Dependency
136
+ name: webmock
137
+ requirement: &2152021600 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *2152021600
146
+ - !ruby/object:Gem::Dependency
147
+ name: guard-rspec
148
+ requirement: &2152020880 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: *2152020880
157
+ - !ruby/object:Gem::Dependency
158
+ name: fuubar
159
+ requirement: &2152020020 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: *2152020020
168
+ - !ruby/object:Gem::Dependency
169
+ name: growl
170
+ requirement: &2152019200 !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: *2152019200
179
+ - !ruby/object:Gem::Dependency
180
+ name: yard
181
+ requirement: &2152018580 !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: *2152018580
190
+ - !ruby/object:Gem::Dependency
191
+ name: yard-tomdoc
192
+ requirement: &2152017900 !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: *2152017900
201
+ - !ruby/object:Gem::Dependency
202
+ name: redcarpet
203
+ requirement: &2152017320 !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: *2152017320
212
+ - !ruby/object:Gem::Dependency
213
+ name: github-markup
214
+ requirement: &2152016840 !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ! '>='
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: *2152016840
223
+ description: Ruby wrapper for Lelylan API
224
+ email:
225
+ - touch@lelylan.com
226
+ executables: []
227
+ extensions: []
228
+ extra_rdoc_files: []
229
+ files:
230
+ - .gitignore
231
+ - CHANGELOG.md
232
+ - Gemfile
233
+ - Guardfile
234
+ - LICENSE.md
235
+ - README.md
236
+ - Rakefile
237
+ - lelylan_rb.gemspec
238
+ - lib/faraday/response/raise_http_error.rb
239
+ - lib/lelylan.rb
240
+ - lib/lelylan/authentication.rb
241
+ - lib/lelylan/client.rb
242
+ - lib/lelylan/client/categories.rb
243
+ - lib/lelylan/client/consumptions.rb
244
+ - lib/lelylan/client/devices.rb
245
+ - lib/lelylan/client/functions.rb
246
+ - lib/lelylan/client/histories.rb
247
+ - lib/lelylan/client/locations.rb
248
+ - lib/lelylan/client/properties.rb
249
+ - lib/lelylan/client/statuses.rb
250
+ - lib/lelylan/client/types.rb
251
+ - lib/lelylan/configuration.rb
252
+ - lib/lelylan/connection.rb
253
+ - lib/lelylan/error.rb
254
+ - lib/lelylan/request.rb
255
+ - lib/lelylan/version.rb
256
+ - spec/faraday/response_spec.rb
257
+ - spec/fixtures/categories.json
258
+ - spec/fixtures/category.json
259
+ - spec/fixtures/consumption.json
260
+ - spec/fixtures/consumptions.json
261
+ - spec/fixtures/device.json
262
+ - spec/fixtures/devices.json
263
+ - spec/fixtures/function.json
264
+ - spec/fixtures/functions.json
265
+ - spec/fixtures/histories.json
266
+ - spec/fixtures/history.json
267
+ - spec/fixtures/location.json
268
+ - spec/fixtures/locations.json
269
+ - spec/fixtures/oauth2/refresh.json
270
+ - spec/fixtures/oauth2/token.json
271
+ - spec/fixtures/pending.json
272
+ - spec/fixtures/properties.json
273
+ - spec/fixtures/property.json
274
+ - spec/fixtures/status.json
275
+ - spec/fixtures/statuses.json
276
+ - spec/fixtures/type.json
277
+ - spec/fixtures/types.json
278
+ - spec/helper.rb
279
+ - spec/lelylan/client/categories_spec.rb
280
+ - spec/lelylan/client/consumptions_spec.rb
281
+ - spec/lelylan/client/devices_spec.rb
282
+ - spec/lelylan/client/functions_spec.rb
283
+ - spec/lelylan/client/histories_spec.rb
284
+ - spec/lelylan/client/locations_spec.rb
285
+ - spec/lelylan/client/properties_spec.rb
286
+ - spec/lelylan/client/statuses_spec.rb
287
+ - spec/lelylan/client/types_spec.rb
288
+ - spec/lelylan/client_spec.rb
289
+ - spec/lelylan/oauth2_spec.rb
290
+ - spec/lelylan_spec.rb
291
+ homepage: https://github.com/lelylan/lelylan-rb
292
+ licenses: []
293
+ post_install_message:
294
+ rdoc_options: []
295
+ require_paths:
296
+ - lib
297
+ required_ruby_version: !ruby/object:Gem::Requirement
298
+ none: false
299
+ requirements:
300
+ - - ! '>='
301
+ - !ruby/object:Gem::Version
302
+ version: '0'
303
+ required_rubygems_version: !ruby/object:Gem::Requirement
304
+ none: false
305
+ requirements:
306
+ - - ! '>='
307
+ - !ruby/object:Gem::Version
308
+ version: 1.3.6
309
+ requirements: []
310
+ rubyforge_project:
311
+ rubygems_version: 1.8.15
312
+ signing_key:
313
+ specification_version: 3
314
+ summary: Ruby wrapper for Lelylan API
315
+ test_files:
316
+ - spec/faraday/response_spec.rb
317
+ - spec/fixtures/categories.json
318
+ - spec/fixtures/category.json
319
+ - spec/fixtures/consumption.json
320
+ - spec/fixtures/consumptions.json
321
+ - spec/fixtures/device.json
322
+ - spec/fixtures/devices.json
323
+ - spec/fixtures/function.json
324
+ - spec/fixtures/functions.json
325
+ - spec/fixtures/histories.json
326
+ - spec/fixtures/history.json
327
+ - spec/fixtures/location.json
328
+ - spec/fixtures/locations.json
329
+ - spec/fixtures/oauth2/refresh.json
330
+ - spec/fixtures/oauth2/token.json
331
+ - spec/fixtures/pending.json
332
+ - spec/fixtures/properties.json
333
+ - spec/fixtures/property.json
334
+ - spec/fixtures/status.json
335
+ - spec/fixtures/statuses.json
336
+ - spec/fixtures/type.json
337
+ - spec/fixtures/types.json
338
+ - spec/helper.rb
339
+ - spec/lelylan/client/categories_spec.rb
340
+ - spec/lelylan/client/consumptions_spec.rb
341
+ - spec/lelylan/client/devices_spec.rb
342
+ - spec/lelylan/client/functions_spec.rb
343
+ - spec/lelylan/client/histories_spec.rb
344
+ - spec/lelylan/client/locations_spec.rb
345
+ - spec/lelylan/client/properties_spec.rb
346
+ - spec/lelylan/client/statuses_spec.rb
347
+ - spec/lelylan/client/types_spec.rb
348
+ - spec/lelylan/client_spec.rb
349
+ - spec/lelylan/oauth2_spec.rb
350
+ - spec/lelylan_spec.rb
351
+ has_rdoc: