amee 4.3.2 → 4.4.0

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 (63) hide show
  1. data/CHANGELOG.txt +6 -0
  2. data/Gemfile +7 -1
  3. data/Rakefile +2 -0
  4. data/VERSION +1 -1
  5. data/amee.gemspec +57 -6
  6. data/amee_test_credentials.example.yml +11 -0
  7. data/cassettes/AMEE_Connection/v2/raising_unhandled_errors.yml +36 -0
  8. data/cassettes/AMEE_Connection/v3/retries/502.yml +36 -0
  9. data/cassettes/AMEE_Connection/v3/retries/503.yml +36 -0
  10. data/cassettes/AMEE_Connection/v3/retries/504.yml +36 -0
  11. data/cassettes/AMEE_Connection/v3/retries/AMEE_TimeOut.yml +36 -0
  12. data/cassettes/AMEE_Connection/v3/should_be_able_to_get_from_meta_server.yml +30 -0
  13. data/cassettes/AMEE_Connection/v3/should_be_able_to_handle_failed_gets_from_meta_server.yml +30 -0
  14. data/cassettes/AMEE_Connection/v3/should_be_able_to_post_to_meta_server.yml +59 -0
  15. data/cassettes/AMEE_Connection/v3/should_have_a_connection_to_meta_server.yml +36 -0
  16. data/cassettes/AMEE_Connection/v3/should_login_and_know_the_path_to_the_server.yml +36 -0
  17. data/cassettes/AMEE_Connection_Caching_Off/authenticating.yml +36 -0
  18. data/cassettes/AMEE_Connection_Caching_Off/first_request.yml +40 -0
  19. data/cassettes/AMEE_Connection_Caching_Off/second_request.yml +40 -0
  20. data/cassettes/AMEE_Connection_Caching_On/authenticating.yml +36 -0
  21. data/cassettes/AMEE_Connection_Caching_On/first_request.yml +40 -0
  22. data/cassettes/AMEE_Connection_Caching_clear_all/second_request.yml +40 -0
  23. data/cassettes/AMEE_Connection_Caching_clear_manually/second_request.yml +40 -0
  24. data/cassettes/AMEE_Connection_Caching_further_down_tree/second_request.yml +79 -0
  25. data/cassettes/AMEE_Connection_with_authentication/handling_404s.yml +69 -0
  26. data/cassettes/AMEE_Connection_with_authentication/hitting_private_urls.yml +75 -0
  27. data/cassettes/AMEE_Connection_with_authentication/raising_errors_if_permission_denied.yml +69 -0
  28. data/cassettes/AMEE_Connection_with_authentication/should_re-authenticate_and_refresh_authtoken_when_authtoken_expires.yml +104 -0
  29. data/cassettes/AMEE_Connection_with_authentication/should_refresh_authtoken_when_authtoken_is_changed.yml +114 -0
  30. data/cassettes/AMEE_Connection_with_authentication/using_a_v1_key.yml +71 -0
  31. data/cassettes/AMEE_Connection_with_authentication/using_a_v2_key/detects_the_API_version_for_JSON.yml +36 -0
  32. data/cassettes/AMEE_Connection_with_authentication/using_a_v2_key/detects_the_API_version_for_XML.yml +36 -0
  33. data/cassettes/AMEE_Connection_with_authentication_doing_write-requests.yml +75 -0
  34. data/cassettes/AMEE_Connection_with_authentication_doing_write-requests/working_with_an_existing_profile/deleting_existing_items.yml +108 -0
  35. data/cassettes/AMEE_Connection_with_authentication_doing_write-requests/working_with_an_existing_profile/sending_updates_to_existing_items.yml +108 -0
  36. data/cassettes/AMEE_Connection_with_bad_authentication_information/hitting_a_private_url.yml +29 -0
  37. data/cassettes/AMEE_Connection_with_bad_authentication_information/hitting_a_public_url.yml +32 -0
  38. data/cassettes/AMEE_Connection_with_incorrect_server_name.yml +16 -0
  39. data/cassettes/AMEE_Connection_with_retry_enabled.yml +36 -0
  40. data/lib/amee/connection.rb +234 -110
  41. data/lib/amee/data_category.rb +2 -2
  42. data/lib/amee/data_item.rb +45 -2
  43. data/lib/amee/data_item_value.rb +1 -1
  44. data/lib/amee/exceptions.rb +5 -2
  45. data/lib/amee/parse_helper.rb +2 -0
  46. data/lib/amee/profile_item.rb +6 -2
  47. data/lib/amee/v3/connection.rb +77 -70
  48. data/lib/amee/v3/item_value_definition.rb +1 -1
  49. data/lib/amee/v3/return_value_definition.rb +1 -1
  50. data/spec/cache_spec.rb +107 -48
  51. data/spec/connection_spec.rb +224 -183
  52. data/spec/data_item_spec.rb +12 -0
  53. data/spec/data_item_value_history_spec.rb +4 -4
  54. data/spec/data_item_value_spec.rb +2 -2
  55. data/spec/fixtures/AD63A83B4D41.json +1 -1
  56. data/spec/fixtures/AD63A83B4D41.xml +1 -1
  57. data/spec/profile_item_spec.rb +14 -10
  58. data/spec/spec_helper.rb +29 -0
  59. data/spec/v3/connection_spec.rb +77 -65
  60. data/spec/v3/item_value_definition_spec.rb +1 -0
  61. data/spec/v3/return_value_definition_spec.rb +1 -1
  62. metadata +140 -24
  63. data/Gemfile.lock +0 -63
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amee
3
3
  version: !ruby/object:Gem::Version
4
- hash: 55
4
+ hash: 47
5
5
  prerelease:
6
6
  segments:
7
7
  - 4
8
- - 3
9
- - 2
10
- version: 4.3.2
8
+ - 4
9
+ - 0
10
+ version: 4.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - James Smith
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2012-01-09 00:00:00 Z
21
+ date: 2012-01-26 00:00:00 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -84,18 +84,45 @@ dependencies:
84
84
  requirements:
85
85
  - - ~>
86
86
  - !ruby/object:Gem::Version
87
- hash: 15
87
+ hash: 7
88
88
  segments:
89
89
  - 1
90
90
  - 4
91
- - 4
92
- version: 1.4.4
91
+ version: "1.4"
93
92
  version_requirements: *id005
94
93
  name: nokogiri
95
94
  prerelease: false
96
95
  type: :runtime
97
96
  - !ruby/object:Gem::Dependency
98
97
  requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 3
103
+ segments:
104
+ - 0
105
+ version: "0"
106
+ version_requirements: *id006
107
+ name: typhoeus
108
+ prerelease: false
109
+ type: :runtime
110
+ - !ruby/object:Gem::Dependency
111
+ requirement: &id007 !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 3
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ version_requirements: *id007
121
+ name: log_buddy
122
+ prerelease: false
123
+ type: :runtime
124
+ - !ruby/object:Gem::Dependency
125
+ requirement: &id008 !ruby/object:Gem::Requirement
99
126
  none: false
100
127
  requirements:
101
128
  - - ~>
@@ -106,12 +133,12 @@ dependencies:
106
133
  - 0
107
134
  - 0
108
135
  version: 1.0.0
109
- version_requirements: *id006
136
+ version_requirements: *id008
110
137
  name: bundler
111
138
  prerelease: false
112
139
  type: :development
113
140
  - !ruby/object:Gem::Dependency
114
- requirement: &id007 !ruby/object:Gem::Requirement
141
+ requirement: &id009 !ruby/object:Gem::Requirement
115
142
  none: false
116
143
  requirements:
117
144
  - - ~>
@@ -122,12 +149,12 @@ dependencies:
122
149
  - 6
123
150
  - 4
124
151
  version: 1.6.4
125
- version_requirements: *id007
152
+ version_requirements: *id009
126
153
  name: jeweler
127
154
  prerelease: false
128
155
  type: :development
129
156
  - !ruby/object:Gem::Dependency
130
- requirement: &id008 !ruby/object:Gem::Requirement
157
+ requirement: &id010 !ruby/object:Gem::Requirement
131
158
  none: false
132
159
  requirements:
133
160
  - - "="
@@ -138,12 +165,12 @@ dependencies:
138
165
  - 6
139
166
  - 0
140
167
  version: 2.6.0
141
- version_requirements: *id008
168
+ version_requirements: *id010
142
169
  name: rspec
143
170
  prerelease: false
144
171
  type: :development
145
172
  - !ruby/object:Gem::Dependency
146
- requirement: &id009 !ruby/object:Gem::Requirement
173
+ requirement: &id011 !ruby/object:Gem::Requirement
147
174
  none: false
148
175
  requirements:
149
176
  - - ">"
@@ -154,12 +181,12 @@ dependencies:
154
181
  - 8
155
182
  - 6
156
183
  version: 0.8.6
157
- version_requirements: *id009
184
+ version_requirements: *id011
158
185
  name: flexmock
159
186
  prerelease: false
160
187
  type: :development
161
188
  - !ruby/object:Gem::Dependency
162
- requirement: &id010 !ruby/object:Gem::Requirement
189
+ requirement: &id012 !ruby/object:Gem::Requirement
163
190
  none: false
164
191
  requirements:
165
192
  - - ">="
@@ -168,12 +195,12 @@ dependencies:
168
195
  segments:
169
196
  - 0
170
197
  version: "0"
171
- version_requirements: *id010
198
+ version_requirements: *id012
172
199
  name: memcache-client
173
200
  prerelease: false
174
201
  type: :development
175
202
  - !ruby/object:Gem::Dependency
176
- requirement: &id011 !ruby/object:Gem::Requirement
203
+ requirement: &id013 !ruby/object:Gem::Requirement
177
204
  none: false
178
205
  requirements:
179
206
  - - ">="
@@ -182,12 +209,12 @@ dependencies:
182
209
  segments:
183
210
  - 0
184
211
  version: "0"
185
- version_requirements: *id011
212
+ version_requirements: *id013
186
213
  name: rcov
187
214
  prerelease: false
188
215
  type: :development
189
216
  - !ruby/object:Gem::Dependency
190
- requirement: &id012 !ruby/object:Gem::Requirement
217
+ requirement: &id014 !ruby/object:Gem::Requirement
191
218
  none: false
192
219
  requirements:
193
220
  - - ">="
@@ -196,12 +223,12 @@ dependencies:
196
223
  segments:
197
224
  - 0
198
225
  version: "0"
199
- version_requirements: *id012
226
+ version_requirements: *id014
200
227
  name: rdoc
201
228
  prerelease: false
202
229
  type: :development
203
230
  - !ruby/object:Gem::Dependency
204
- requirement: &id013 !ruby/object:Gem::Requirement
231
+ requirement: &id015 !ruby/object:Gem::Requirement
205
232
  none: false
206
233
  requirements:
207
234
  - - ">="
@@ -212,10 +239,66 @@ dependencies:
212
239
  - 3
213
240
  - 11
214
241
  version: 2.3.11
215
- version_requirements: *id013
242
+ version_requirements: *id015
216
243
  name: activerecord
217
244
  prerelease: false
218
245
  type: :development
246
+ - !ruby/object:Gem::Dependency
247
+ requirement: &id016 !ruby/object:Gem::Requirement
248
+ none: false
249
+ requirements:
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ hash: 3
253
+ segments:
254
+ - 0
255
+ version: "0"
256
+ version_requirements: *id016
257
+ name: vcr
258
+ prerelease: false
259
+ type: :development
260
+ - !ruby/object:Gem::Dependency
261
+ requirement: &id017 !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ hash: 3
267
+ segments:
268
+ - 0
269
+ version: "0"
270
+ version_requirements: *id017
271
+ name: webmock
272
+ prerelease: false
273
+ type: :development
274
+ - !ruby/object:Gem::Dependency
275
+ requirement: &id018 !ruby/object:Gem::Requirement
276
+ none: false
277
+ requirements:
278
+ - - ">="
279
+ - !ruby/object:Gem::Version
280
+ hash: 3
281
+ segments:
282
+ - 0
283
+ version: "0"
284
+ version_requirements: *id018
285
+ name: pry
286
+ prerelease: false
287
+ type: :development
288
+ - !ruby/object:Gem::Dependency
289
+ requirement: &id019 !ruby/object:Gem::Requirement
290
+ none: false
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ hash: 3
295
+ segments:
296
+ - 0
297
+ version: "0"
298
+ version_requirements: *id019
299
+ name: pry-doc
300
+ prerelease: false
301
+ type: :development
219
302
  description:
220
303
  email: james@floppy.org.uk
221
304
  executables:
@@ -230,15 +313,48 @@ files:
230
313
  - Appraisals
231
314
  - CHANGELOG.txt
232
315
  - Gemfile
233
- - Gemfile.lock
234
316
  - LICENSE.txt
235
317
  - README.txt
236
318
  - Rakefile
237
319
  - VERSION
238
320
  - amee.example.yml
239
321
  - amee.gemspec
322
+ - amee_test_credentials.example.yml
240
323
  - bin/ameesh
241
324
  - cacert.pem
325
+ - cassettes/AMEE_Connection/v2/raising_unhandled_errors.yml
326
+ - cassettes/AMEE_Connection/v3/retries/502.yml
327
+ - cassettes/AMEE_Connection/v3/retries/503.yml
328
+ - cassettes/AMEE_Connection/v3/retries/504.yml
329
+ - cassettes/AMEE_Connection/v3/retries/AMEE_TimeOut.yml
330
+ - cassettes/AMEE_Connection/v3/should_be_able_to_get_from_meta_server.yml
331
+ - cassettes/AMEE_Connection/v3/should_be_able_to_handle_failed_gets_from_meta_server.yml
332
+ - cassettes/AMEE_Connection/v3/should_be_able_to_post_to_meta_server.yml
333
+ - cassettes/AMEE_Connection/v3/should_have_a_connection_to_meta_server.yml
334
+ - cassettes/AMEE_Connection/v3/should_login_and_know_the_path_to_the_server.yml
335
+ - cassettes/AMEE_Connection_Caching_Off/authenticating.yml
336
+ - cassettes/AMEE_Connection_Caching_Off/first_request.yml
337
+ - cassettes/AMEE_Connection_Caching_Off/second_request.yml
338
+ - cassettes/AMEE_Connection_Caching_On/authenticating.yml
339
+ - cassettes/AMEE_Connection_Caching_On/first_request.yml
340
+ - cassettes/AMEE_Connection_Caching_clear_all/second_request.yml
341
+ - cassettes/AMEE_Connection_Caching_clear_manually/second_request.yml
342
+ - cassettes/AMEE_Connection_Caching_further_down_tree/second_request.yml
343
+ - cassettes/AMEE_Connection_with_authentication/handling_404s.yml
344
+ - cassettes/AMEE_Connection_with_authentication/hitting_private_urls.yml
345
+ - cassettes/AMEE_Connection_with_authentication/raising_errors_if_permission_denied.yml
346
+ - cassettes/AMEE_Connection_with_authentication/should_re-authenticate_and_refresh_authtoken_when_authtoken_expires.yml
347
+ - cassettes/AMEE_Connection_with_authentication/should_refresh_authtoken_when_authtoken_is_changed.yml
348
+ - cassettes/AMEE_Connection_with_authentication/using_a_v1_key.yml
349
+ - cassettes/AMEE_Connection_with_authentication/using_a_v2_key/detects_the_API_version_for_JSON.yml
350
+ - cassettes/AMEE_Connection_with_authentication/using_a_v2_key/detects_the_API_version_for_XML.yml
351
+ - cassettes/AMEE_Connection_with_authentication_doing_write-requests.yml
352
+ - cassettes/AMEE_Connection_with_authentication_doing_write-requests/working_with_an_existing_profile/deleting_existing_items.yml
353
+ - cassettes/AMEE_Connection_with_authentication_doing_write-requests/working_with_an_existing_profile/sending_updates_to_existing_items.yml
354
+ - cassettes/AMEE_Connection_with_bad_authentication_information/hitting_a_private_url.yml
355
+ - cassettes/AMEE_Connection_with_bad_authentication_information/hitting_a_public_url.yml
356
+ - cassettes/AMEE_Connection_with_incorrect_server_name.yml
357
+ - cassettes/AMEE_Connection_with_retry_enabled.yml
242
358
  - examples/create_profile.rb
243
359
  - examples/create_profile_item.rb
244
360
  - examples/list_profiles.rb
@@ -1,63 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activemodel (3.1.1)
5
- activesupport (= 3.1.1)
6
- builder (~> 3.0.0)
7
- i18n (~> 0.6)
8
- activerecord (3.1.1)
9
- activemodel (= 3.1.1)
10
- activesupport (= 3.1.1)
11
- arel (~> 2.2.1)
12
- tzinfo (~> 0.3.29)
13
- activesupport (3.1.1)
14
- multi_json (~> 1.0)
15
- appraisal (0.4.0)
16
- bundler
17
- rake
18
- arel (2.2.1)
19
- builder (3.0.0)
20
- diff-lcs (1.1.3)
21
- flexmock (0.9.0)
22
- git (1.2.5)
23
- i18n (0.6.0)
24
- jeweler (1.6.4)
25
- bundler (~> 1.0)
26
- git (>= 1.2.5)
27
- rake
28
- json (1.6.1)
29
- log4r (1.1.9)
30
- memcache-client (1.8.5)
31
- multi_json (1.0.3)
32
- nokogiri (1.4.7)
33
- rake (0.9.2.2)
34
- rcov (0.9.11)
35
- rdoc (3.11)
36
- json (~> 1.4)
37
- rspec (2.6.0)
38
- rspec-core (~> 2.6.0)
39
- rspec-expectations (~> 2.6.0)
40
- rspec-mocks (~> 2.6.0)
41
- rspec-core (2.6.4)
42
- rspec-expectations (2.6.0)
43
- diff-lcs (~> 1.1.2)
44
- rspec-mocks (2.6.0)
45
- tzinfo (0.3.30)
46
-
47
- PLATFORMS
48
- ruby
49
-
50
- DEPENDENCIES
51
- activerecord (>= 2.3.11)
52
- activesupport (>= 2.3.11)
53
- appraisal
54
- bundler (~> 1.0.0)
55
- flexmock (> 0.8.6)
56
- jeweler (~> 1.6.4)
57
- json
58
- log4r
59
- memcache-client
60
- nokogiri (~> 1.4.4)
61
- rcov
62
- rdoc
63
- rspec (= 2.6.0)