lelylan-rb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: