leancloud-ruby-client 0.1.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 (99) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +9 -0
  3. data/Gemfile +16 -0
  4. data/Gemfile.lock +86 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.md +1177 -0
  7. data/Rakefile +45 -0
  8. data/VERSION +1 -0
  9. data/example.rb +35 -0
  10. data/features.md +1111 -0
  11. data/fixtures/vcr_cassettes/test_acls_arent_objects.yml +274 -0
  12. data/fixtures/vcr_cassettes/test_array_add.yml +213 -0
  13. data/fixtures/vcr_cassettes/test_array_add_pointerizing.yml +380 -0
  14. data/fixtures/vcr_cassettes/test_array_add_unique.yml +319 -0
  15. data/fixtures/vcr_cassettes/test_batch_create_object.yml +107 -0
  16. data/fixtures/vcr_cassettes/test_batch_delete_object.yml +637 -0
  17. data/fixtures/vcr_cassettes/test_batch_run.yml +109 -0
  18. data/fixtures/vcr_cassettes/test_batch_update_nils_delete_keys.yml +435 -0
  19. data/fixtures/vcr_cassettes/test_batch_update_object.yml +637 -0
  20. data/fixtures/vcr_cassettes/test_contains_all.yml +1143 -0
  21. data/fixtures/vcr_cassettes/test_cql.yml +99 -0
  22. data/fixtures/vcr_cassettes/test_created_at.yml +109 -0
  23. data/fixtures/vcr_cassettes/test_decrement.yml +213 -0
  24. data/fixtures/vcr_cassettes/test_deep_parse.yml +321 -0
  25. data/fixtures/vcr_cassettes/test_destroy.yml +213 -0
  26. data/fixtures/vcr_cassettes/test_empty_response.yml +1026 -0
  27. data/fixtures/vcr_cassettes/test_eq_pointerize.yml +427 -0
  28. data/fixtures/vcr_cassettes/test_equality.yml +321 -0
  29. data/fixtures/vcr_cassettes/test_get.yml +215 -0
  30. data/fixtures/vcr_cassettes/test_get_installation.yml +58 -0
  31. data/fixtures/vcr_cassettes/test_get_missing.yml +160 -0
  32. data/fixtures/vcr_cassettes/test_image_file_associate_with_object.yml +2089 -0
  33. data/fixtures/vcr_cassettes/test_image_file_save.yml +1928 -0
  34. data/fixtures/vcr_cassettes/test_include.yml +321 -0
  35. data/fixtures/vcr_cassettes/test_new_model.yml +109 -0
  36. data/fixtures/vcr_cassettes/test_new_object.yml +109 -0
  37. data/fixtures/vcr_cassettes/test_nils_delete_keys.yml +319 -0
  38. data/fixtures/vcr_cassettes/test_object_id.yml +56 -0
  39. data/fixtures/vcr_cassettes/test_parse_delete.yml +421 -0
  40. data/fixtures/vcr_cassettes/test_pointer.yml +109 -0
  41. data/fixtures/vcr_cassettes/test_request_sms.yml +48 -0
  42. data/fixtures/vcr_cassettes/test_reset_password.yml +109 -0
  43. data/fixtures/vcr_cassettes/test_retries.yml +4173 -0
  44. data/fixtures/vcr_cassettes/test_retries_404.yml +1026 -0
  45. data/fixtures/vcr_cassettes/test_retries_404_correct.yml +1026 -0
  46. data/fixtures/vcr_cassettes/test_retries_json_error.yml +2265 -0
  47. data/fixtures/vcr_cassettes/test_retries_server_error.yml +2265 -0
  48. data/fixtures/vcr_cassettes/test_save_installation.yml +58 -0
  49. data/fixtures/vcr_cassettes/test_save_with_sub_objects.yml +484 -0
  50. data/fixtures/vcr_cassettes/test_saving_boolean_values.yml +215 -0
  51. data/fixtures/vcr_cassettes/test_saving_nested_objects.yml +62 -0
  52. data/fixtures/vcr_cassettes/test_server_update.yml +586 -0
  53. data/fixtures/vcr_cassettes/test_simple_save.yml +109 -0
  54. data/fixtures/vcr_cassettes/test_text_file_save.yml +109 -0
  55. data/fixtures/vcr_cassettes/test_update.yml +213 -0
  56. data/fixtures/vcr_cassettes/test_updated_at.yml +213 -0
  57. data/fixtures/vcr_cassettes/test_user_login.yml +276 -0
  58. data/fixtures/vcr_cassettes/test_user_save.yml +109 -0
  59. data/fixtures/vcr_cassettes/test_xget.yml +603 -0
  60. data/leancloud-ruby-client.gemspec +166 -0
  61. data/lib/faraday/better_retry.rb +94 -0
  62. data/lib/faraday/extended_parse_json.rb +39 -0
  63. data/lib/faraday/get_method_override.rb +32 -0
  64. data/lib/leancloud-ruby-client.rb +34 -0
  65. data/lib/leancloud/application.rb +7 -0
  66. data/lib/leancloud/batch.rb +53 -0
  67. data/lib/leancloud/client.rb +149 -0
  68. data/lib/leancloud/cloud.rb +28 -0
  69. data/lib/leancloud/datatypes.rb +355 -0
  70. data/lib/leancloud/error.rb +42 -0
  71. data/lib/leancloud/installation.rb +57 -0
  72. data/lib/leancloud/model.rb +14 -0
  73. data/lib/leancloud/object.rb +252 -0
  74. data/lib/leancloud/protocol.rb +193 -0
  75. data/lib/leancloud/push.rb +48 -0
  76. data/lib/leancloud/query.rb +194 -0
  77. data/lib/leancloud/user.rb +38 -0
  78. data/lib/leancloud/util.rb +93 -0
  79. data/test/cloud_functions/MyCloudCode/cloud/main.js +4 -0
  80. data/test/config/global.json +14 -0
  81. data/test/helper.rb +108 -0
  82. data/test/middleware/better_retry_test.rb +57 -0
  83. data/test/middleware/extend_parse_json_test.rb +55 -0
  84. data/test/parsers.jpg +0 -0
  85. data/test/test_batch.rb +132 -0
  86. data/test/test_client.rb +183 -0
  87. data/test/test_cloud.rb +31 -0
  88. data/test/test_datatypes.rb +105 -0
  89. data/test/test_file.rb +67 -0
  90. data/test/test_init.rb +23 -0
  91. data/test/test_init_from_cloud_code.rb +8 -0
  92. data/test/test_installation.rb +49 -0
  93. data/test/test_model.rb +22 -0
  94. data/test/test_object.rb +295 -0
  95. data/test/test_push.rb +45 -0
  96. data/test/test_query.rb +198 -0
  97. data/test/test_throttle.rb +5 -0
  98. data/test/test_user.rb +60 -0
  99. metadata +298 -0
@@ -0,0 +1,319 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/classes/Post
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"title":"hello"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Parse for Ruby, 0.0
16
+ X-Parse-Master-Key:
17
+ - ''
18
+ X-Parse-Rest-Api-Key:
19
+ - <X-Parse-REST-API-Key>
20
+ X-Parse-Application-Id:
21
+ - <X-Parse-Application-Id>
22
+ X-Parse-Session-Token:
23
+ - ''
24
+ Expect:
25
+ - ''
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: Created
30
+ headers:
31
+ Access-Control-Allow-Origin:
32
+ - '*'
33
+ Access-Control-Request-Method:
34
+ - '*'
35
+ Cache-Control:
36
+ - no-cache
37
+ Content-Type:
38
+ - application/json; charset=utf-8
39
+ Date:
40
+ - Mon, 22 Apr 2013 16:03:19 GMT
41
+ Location:
42
+ - https://api.parse.com/1/classes/Post/foSiAYPyDd
43
+ Server:
44
+ - nginx/1.2.2
45
+ Set-Cookie:
46
+ - <COOKIE-KEY>
47
+ Status:
48
+ - 201 Created
49
+ X-Runtime:
50
+ - '0.116334'
51
+ X-Ua-Compatible:
52
+ - IE=Edge,chrome=1
53
+ Content-Length:
54
+ - '64'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: ASCII-8BIT
59
+ string: '{"createdAt":"2013-04-22T16:03:19.904Z","objectId":"foSiAYPyDd"}'
60
+ http_version:
61
+ recorded_at: Mon, 22 Apr 2013 16:03:19 GMT
62
+ - request:
63
+ method: put
64
+ uri: https://api.parse.com/1/classes/Post/foSiAYPyDd
65
+ body:
66
+ encoding: UTF-8
67
+ string: '{"title":{"__op":"Delete"}}'
68
+ headers:
69
+ Content-Type:
70
+ - application/json
71
+ Accept:
72
+ - application/json
73
+ User-Agent:
74
+ - Parse for Ruby, 0.0
75
+ X-Parse-Master-Key:
76
+ - ''
77
+ X-Parse-Rest-Api-Key:
78
+ - <X-Parse-REST-API-Key>
79
+ X-Parse-Application-Id:
80
+ - <X-Parse-Application-Id>
81
+ X-Parse-Session-Token:
82
+ - ''
83
+ Expect:
84
+ - ''
85
+ response:
86
+ status:
87
+ code: 200
88
+ message: OK
89
+ headers:
90
+ Access-Control-Allow-Origin:
91
+ - '*'
92
+ Access-Control-Request-Method:
93
+ - '*'
94
+ Cache-Control:
95
+ - max-age=0, private, must-revalidate
96
+ Content-Type:
97
+ - application/json; charset=utf-8
98
+ Date:
99
+ - Mon, 22 Apr 2013 16:03:21 GMT
100
+ Etag:
101
+ - '"aefca97cb03076f4ddb34f20565afd80"'
102
+ Server:
103
+ - nginx/1.2.2
104
+ Set-Cookie:
105
+ - <COOKIE-KEY>
106
+ Status:
107
+ - 200 OK
108
+ X-Runtime:
109
+ - '0.918748'
110
+ X-Ua-Compatible:
111
+ - IE=Edge,chrome=1
112
+ Content-Length:
113
+ - '40'
114
+ Connection:
115
+ - keep-alive
116
+ body:
117
+ encoding: ASCII-8BIT
118
+ string: '{"updatedAt":"2013-04-22T16:03:20.599Z"}'
119
+ http_version:
120
+ recorded_at: Mon, 22 Apr 2013 16:03:21 GMT
121
+ - request:
122
+ method: get
123
+ uri: https://api.parse.com/1/classes/Post/foSiAYPyDd
124
+ body:
125
+ encoding: US-ASCII
126
+ string: ''
127
+ headers:
128
+ Content-Type:
129
+ - application/json
130
+ Accept:
131
+ - application/json
132
+ User-Agent:
133
+ - Parse for Ruby, 0.0
134
+ X-Parse-Master-Key:
135
+ - ''
136
+ X-Parse-Rest-Api-Key:
137
+ - <X-Parse-REST-API-Key>
138
+ X-Parse-Application-Id:
139
+ - <X-Parse-Application-Id>
140
+ X-Parse-Session-Token:
141
+ - ''
142
+ Expect:
143
+ - ''
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: OK
148
+ headers:
149
+ Access-Control-Allow-Origin:
150
+ - '*'
151
+ Access-Control-Request-Method:
152
+ - '*'
153
+ Cache-Control:
154
+ - max-age=0, private, must-revalidate
155
+ Content-Type:
156
+ - application/json; charset=utf-8
157
+ Date:
158
+ - Mon, 22 Apr 2013 16:03:21 GMT
159
+ Etag:
160
+ - '"2e2febffbd6f760384d5d25c05c6f3c0"'
161
+ Server:
162
+ - nginx/1.2.2
163
+ Set-Cookie:
164
+ - <COOKIE-KEY>
165
+ Status:
166
+ - 200 OK
167
+ X-Runtime:
168
+ - '0.396514'
169
+ X-Ua-Compatible:
170
+ - IE=Edge,chrome=1
171
+ Content-Length:
172
+ - '103'
173
+ Connection:
174
+ - keep-alive
175
+ body:
176
+ encoding: ASCII-8BIT
177
+ string: '{"createdAt":"2013-04-22T16:03:19.904Z","updatedAt":"2013-04-22T16:03:20.599Z","objectId":"foSiAYPyDd"}'
178
+ http_version:
179
+ recorded_at: Mon, 22 Apr 2013 16:03:21 GMT
180
+ - request:
181
+ method: post
182
+ uri: https://api.leancloud.cn/1.1/classes/Post
183
+ body:
184
+ encoding: UTF-8
185
+ string: '{"title":"hello"}'
186
+ headers:
187
+ User-Agent:
188
+ - Parse for Ruby, 0.0
189
+ Content-Type:
190
+ - application/json
191
+ X-Avoscloud-Application-Id:
192
+ - <X-AVOSCloud-Application-Id>
193
+ X-Avoscloud-Application-Key:
194
+ - <X-AVOSCloud-Application-Key>
195
+ Accept-Encoding:
196
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
197
+ Accept:
198
+ - '*/*'
199
+ response:
200
+ status:
201
+ code: 201
202
+ message: Created
203
+ headers:
204
+ Server:
205
+ - Tengine
206
+ Date:
207
+ - Fri, 10 Apr 2015 09:10:51 GMT
208
+ Content-Type:
209
+ - application/json;charset=utf-8
210
+ Content-Length:
211
+ - '78'
212
+ Connection:
213
+ - keep-alive
214
+ Location:
215
+ - /1.1/classes/Post/5527939be4b0da2c5defa1f5
216
+ Cache-Control:
217
+ - no-cache,no-store
218
+ Pragma:
219
+ - no-cache
220
+ Strict-Transport-Security:
221
+ - max-age=31536000
222
+ body:
223
+ encoding: UTF-8
224
+ string: '{"createdAt":"2015-04-10T09:10:51.410Z","objectId":"5527939be4b0da2c5defa1f5"}'
225
+ http_version:
226
+ recorded_at: Fri, 10 Apr 2015 09:10:51 GMT
227
+ - request:
228
+ method: put
229
+ uri: https://api.leancloud.cn/1.1/classes/Post/5527939be4b0da2c5defa1f5?new=true
230
+ body:
231
+ encoding: UTF-8
232
+ string: '{"title":{"__op":"Delete"}}'
233
+ headers:
234
+ User-Agent:
235
+ - Parse for Ruby, 0.0
236
+ Content-Type:
237
+ - application/json
238
+ X-Avoscloud-Application-Id:
239
+ - <X-AVOSCloud-Application-Id>
240
+ X-Avoscloud-Application-Key:
241
+ - <X-AVOSCloud-Application-Key>
242
+ Accept-Encoding:
243
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
244
+ Accept:
245
+ - '*/*'
246
+ response:
247
+ status:
248
+ code: 200
249
+ message: OK
250
+ headers:
251
+ Server:
252
+ - Tengine
253
+ Date:
254
+ - Fri, 10 Apr 2015 09:10:51 GMT
255
+ Content-Type:
256
+ - application/json;charset=utf-8
257
+ Content-Length:
258
+ - '78'
259
+ Connection:
260
+ - keep-alive
261
+ Cache-Control:
262
+ - no-cache,no-store
263
+ Pragma:
264
+ - no-cache
265
+ Strict-Transport-Security:
266
+ - max-age=31536000
267
+ body:
268
+ encoding: UTF-8
269
+ string: '{"objectId":"5527939be4b0da2c5defa1f5","updatedAt":"2015-04-10T09:10:51.690Z"}'
270
+ http_version:
271
+ recorded_at: Fri, 10 Apr 2015 09:10:51 GMT
272
+ - request:
273
+ method: get
274
+ uri: https://api.leancloud.cn/1.1/classes/Post/5527939be4b0da2c5defa1f5
275
+ body:
276
+ encoding: US-ASCII
277
+ string: ''
278
+ headers:
279
+ User-Agent:
280
+ - Parse for Ruby, 0.0
281
+ Content-Type:
282
+ - application/json
283
+ X-Avoscloud-Application-Id:
284
+ - <X-AVOSCloud-Application-Id>
285
+ X-Avoscloud-Application-Key:
286
+ - <X-AVOSCloud-Application-Key>
287
+ Accept-Encoding:
288
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
289
+ Accept:
290
+ - '*/*'
291
+ response:
292
+ status:
293
+ code: 200
294
+ message: OK
295
+ headers:
296
+ Server:
297
+ - Tengine
298
+ Date:
299
+ - Fri, 10 Apr 2015 09:10:51 GMT
300
+ Content-Type:
301
+ - application/json;charset=utf-8
302
+ Content-Length:
303
+ - '117'
304
+ Connection:
305
+ - keep-alive
306
+ Last-Modified:
307
+ - Fri, 10 Apr 2015 09:10:51.690 GMT
308
+ Cache-Control:
309
+ - no-cache,no-store
310
+ Pragma:
311
+ - no-cache
312
+ Strict-Transport-Security:
313
+ - max-age=31536000
314
+ body:
315
+ encoding: UTF-8
316
+ string: '{"updatedAt":"2015-04-10T09:10:51.690Z","createdAt":"2015-04-10T09:10:51.410Z","objectId":"5527939be4b0da2c5defa1f5"}'
317
+ http_version:
318
+ recorded_at: Fri, 10 Apr 2015 09:10:51 GMT
319
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/classes/Post
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{\"title\":\"hello world\"}"
9
+ headers:
10
+ User-Agent:
11
+ - Parse for Ruby, 0.0
12
+ X-Parse-Application-Id:
13
+ - <X-Parse-Application-Id>
14
+ X-Parse-Rest-Api-Key:
15
+ - <X-Parse-REST-API-Key>
16
+ Content-Type:
17
+ - application/json
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Access-Control-Allow-Origin:
26
+ - "*"
27
+ Access-Control-Request-Method:
28
+ - "*"
29
+ Cache-Control:
30
+ - no-cache
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Sun, 28 Apr 2013 13:34:36 GMT
35
+ Location:
36
+ - https://api.parse.com/1/classes/Post/8q7HUf9da6
37
+ Server:
38
+ - nginx/1.2.2
39
+ Set-Cookie:
40
+ - <COOKIE-KEY>
41
+ Status:
42
+ - 201 Created
43
+ X-Runtime:
44
+ - "0.027185"
45
+ X-Ua-Compatible:
46
+ - IE=Edge,chrome=1
47
+ Content-Length:
48
+ - "64"
49
+ Connection:
50
+ - keep-alive
51
+ body:
52
+ encoding: US-ASCII
53
+ string: "{\"createdAt\":\"2013-04-28T13:34:36.083Z\",\"objectId\":\"8q7HUf9da6\"}"
54
+ http_version:
55
+ recorded_at: Sun, 28 Apr 2013 13:34:36 GMT
56
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,421 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.parse.com/1/classes/Post
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Parse for Ruby, 0.0
16
+ X-Parse-Master-Key:
17
+ - ''
18
+ X-Parse-Rest-Api-Key:
19
+ - <X-Parse-REST-API-Key>
20
+ X-Parse-Application-Id:
21
+ - <X-Parse-Application-Id>
22
+ X-Parse-Session-Token:
23
+ - ''
24
+ Expect:
25
+ - ''
26
+ response:
27
+ status:
28
+ code: 201
29
+ message: Created
30
+ headers:
31
+ Access-Control-Allow-Origin:
32
+ - '*'
33
+ Access-Control-Request-Method:
34
+ - '*'
35
+ Cache-Control:
36
+ - no-cache
37
+ Content-Type:
38
+ - application/json; charset=utf-8
39
+ Date:
40
+ - Mon, 22 Apr 2013 16:03:22 GMT
41
+ Location:
42
+ - https://api.parse.com/1/classes/Post/70MnUSZb3M
43
+ Server:
44
+ - nginx/1.2.2
45
+ Set-Cookie:
46
+ - <COOKIE-KEY>
47
+ Status:
48
+ - 201 Created
49
+ X-Runtime:
50
+ - '0.141145'
51
+ X-Ua-Compatible:
52
+ - IE=Edge,chrome=1
53
+ Content-Length:
54
+ - '64'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: ASCII-8BIT
59
+ string: '{"createdAt":"2013-04-22T16:03:22.370Z","objectId":"70MnUSZb3M"}'
60
+ http_version:
61
+ recorded_at: Mon, 22 Apr 2013 16:03:22 GMT
62
+ - request:
63
+ method: get
64
+ uri: https://api.parse.com/1/classes/Post/70MnUSZb3M
65
+ body:
66
+ encoding: US-ASCII
67
+ string: ''
68
+ headers:
69
+ Content-Type:
70
+ - application/json
71
+ Accept:
72
+ - application/json
73
+ User-Agent:
74
+ - Parse for Ruby, 0.0
75
+ X-Parse-Master-Key:
76
+ - ''
77
+ X-Parse-Rest-Api-Key:
78
+ - <X-Parse-REST-API-Key>
79
+ X-Parse-Application-Id:
80
+ - <X-Parse-Application-Id>
81
+ X-Parse-Session-Token:
82
+ - ''
83
+ Expect:
84
+ - ''
85
+ response:
86
+ status:
87
+ code: 200
88
+ message: OK
89
+ headers:
90
+ Access-Control-Allow-Origin:
91
+ - '*'
92
+ Access-Control-Request-Method:
93
+ - '*'
94
+ Cache-Control:
95
+ - max-age=0, private, must-revalidate
96
+ Content-Type:
97
+ - application/json; charset=utf-8
98
+ Date:
99
+ - Mon, 22 Apr 2013 16:03:22 GMT
100
+ Etag:
101
+ - '"3e357ddf5c31a426d297d671f5ffa6ac"'
102
+ Server:
103
+ - nginx/1.2.2
104
+ Set-Cookie:
105
+ - <COOKIE-KEY>
106
+ Status:
107
+ - 200 OK
108
+ X-Runtime:
109
+ - '0.054564'
110
+ X-Ua-Compatible:
111
+ - IE=Edge,chrome=1
112
+ Content-Length:
113
+ - '103'
114
+ Connection:
115
+ - keep-alive
116
+ body:
117
+ encoding: ASCII-8BIT
118
+ string: '{"createdAt":"2013-04-22T16:03:22.370Z","updatedAt":"2013-04-22T16:03:22.370Z","objectId":"70MnUSZb3M"}'
119
+ http_version:
120
+ recorded_at: Mon, 22 Apr 2013 16:03:22 GMT
121
+ - request:
122
+ method: delete
123
+ uri: https://api.parse.com/1/classes/Post/70MnUSZb3M
124
+ body:
125
+ encoding: US-ASCII
126
+ string: ''
127
+ headers:
128
+ Content-Type:
129
+ - application/json
130
+ Accept:
131
+ - application/json
132
+ User-Agent:
133
+ - Parse for Ruby, 0.0
134
+ X-Parse-Master-Key:
135
+ - ''
136
+ X-Parse-Rest-Api-Key:
137
+ - <X-Parse-REST-API-Key>
138
+ X-Parse-Application-Id:
139
+ - <X-Parse-Application-Id>
140
+ X-Parse-Session-Token:
141
+ - ''
142
+ Expect:
143
+ - ''
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: OK
148
+ headers:
149
+ Access-Control-Allow-Origin:
150
+ - '*'
151
+ Access-Control-Request-Method:
152
+ - '*'
153
+ Cache-Control:
154
+ - max-age=0, private, must-revalidate
155
+ Content-Type:
156
+ - application/json; charset=utf-8
157
+ Date:
158
+ - Mon, 22 Apr 2013 16:03:22 GMT
159
+ Etag:
160
+ - '"99914b932bd37a50b983c5e7c90ae93b"'
161
+ Server:
162
+ - nginx/1.2.2
163
+ Set-Cookie:
164
+ - <COOKIE-KEY>
165
+ Status:
166
+ - 200 OK
167
+ X-Runtime:
168
+ - '0.044459'
169
+ X-Ua-Compatible:
170
+ - IE=Edge,chrome=1
171
+ Content-Length:
172
+ - '2'
173
+ Connection:
174
+ - keep-alive
175
+ body:
176
+ encoding: ASCII-8BIT
177
+ string: '{}'
178
+ http_version:
179
+ recorded_at: Mon, 22 Apr 2013 16:03:22 GMT
180
+ - request:
181
+ method: get
182
+ uri: https://api.parse.com/1/classes/Post/70MnUSZb3M
183
+ body:
184
+ encoding: US-ASCII
185
+ string: ''
186
+ headers:
187
+ Content-Type:
188
+ - application/json
189
+ Accept:
190
+ - application/json
191
+ User-Agent:
192
+ - Parse for Ruby, 0.0
193
+ X-Parse-Master-Key:
194
+ - ''
195
+ X-Parse-Rest-Api-Key:
196
+ - <X-Parse-REST-API-Key>
197
+ X-Parse-Application-Id:
198
+ - <X-Parse-Application-Id>
199
+ X-Parse-Session-Token:
200
+ - ''
201
+ Expect:
202
+ - ''
203
+ response:
204
+ status:
205
+ code: 404
206
+ message: Not Found
207
+ headers:
208
+ Access-Control-Allow-Origin:
209
+ - '*'
210
+ Access-Control-Request-Method:
211
+ - '*'
212
+ Cache-Control:
213
+ - no-cache
214
+ Content-Type:
215
+ - application/json; charset=utf-8
216
+ Date:
217
+ - Mon, 22 Apr 2013 16:03:22 GMT
218
+ Server:
219
+ - nginx/1.2.2
220
+ Set-Cookie:
221
+ - <COOKIE-KEY>
222
+ Status:
223
+ - 404 Not Found
224
+ X-Runtime:
225
+ - '0.029217'
226
+ X-Ua-Compatible:
227
+ - IE=Edge,chrome=1
228
+ Content-Length:
229
+ - '47'
230
+ Connection:
231
+ - keep-alive
232
+ body:
233
+ encoding: ASCII-8BIT
234
+ string: '{"code":101,"error":"object not found for get"}'
235
+ http_version:
236
+ recorded_at: Mon, 22 Apr 2013 16:03:22 GMT
237
+ - request:
238
+ method: post
239
+ uri: https://api.leancloud.cn/1.1/classes/Post
240
+ body:
241
+ encoding: UTF-8
242
+ string: '{}'
243
+ headers:
244
+ User-Agent:
245
+ - Parse for Ruby, 0.0
246
+ Content-Type:
247
+ - application/json
248
+ X-Avoscloud-Application-Id:
249
+ - <X-AVOSCloud-Application-Id>
250
+ X-Avoscloud-Application-Key:
251
+ - <X-AVOSCloud-Application-Key>
252
+ Accept-Encoding:
253
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
254
+ Accept:
255
+ - '*/*'
256
+ response:
257
+ status:
258
+ code: 201
259
+ message: Created
260
+ headers:
261
+ Server:
262
+ - Tengine
263
+ Date:
264
+ - Fri, 10 Apr 2015 09:10:52 GMT
265
+ Content-Type:
266
+ - application/json;charset=utf-8
267
+ Content-Length:
268
+ - '78'
269
+ Connection:
270
+ - keep-alive
271
+ Location:
272
+ - /1.1/classes/Post/5527939ce4b0da2c5defa1fc
273
+ Cache-Control:
274
+ - no-cache,no-store
275
+ Pragma:
276
+ - no-cache
277
+ Strict-Transport-Security:
278
+ - max-age=31536000
279
+ body:
280
+ encoding: UTF-8
281
+ string: '{"createdAt":"2015-04-10T09:10:52.519Z","objectId":"5527939ce4b0da2c5defa1fc"}'
282
+ http_version:
283
+ recorded_at: Fri, 10 Apr 2015 09:10:52 GMT
284
+ - request:
285
+ method: get
286
+ uri: https://api.leancloud.cn/1.1/classes/Post/5527939ce4b0da2c5defa1fc
287
+ body:
288
+ encoding: US-ASCII
289
+ string: ''
290
+ headers:
291
+ User-Agent:
292
+ - Parse for Ruby, 0.0
293
+ Content-Type:
294
+ - application/json
295
+ X-Avoscloud-Application-Id:
296
+ - <X-AVOSCloud-Application-Id>
297
+ X-Avoscloud-Application-Key:
298
+ - <X-AVOSCloud-Application-Key>
299
+ Accept-Encoding:
300
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
301
+ Accept:
302
+ - '*/*'
303
+ response:
304
+ status:
305
+ code: 200
306
+ message: OK
307
+ headers:
308
+ Server:
309
+ - Tengine
310
+ Date:
311
+ - Fri, 10 Apr 2015 09:10:52 GMT
312
+ Content-Type:
313
+ - application/json;charset=utf-8
314
+ Content-Length:
315
+ - '117'
316
+ Connection:
317
+ - keep-alive
318
+ Last-Modified:
319
+ - Fri, 10 Apr 2015 09:10:52.519 GMT
320
+ Cache-Control:
321
+ - no-cache,no-store
322
+ Pragma:
323
+ - no-cache
324
+ Strict-Transport-Security:
325
+ - max-age=31536000
326
+ body:
327
+ encoding: UTF-8
328
+ string: '{"createdAt":"2015-04-10T09:10:52.519Z","updatedAt":"2015-04-10T09:10:52.519Z","objectId":"5527939ce4b0da2c5defa1fc"}'
329
+ http_version:
330
+ recorded_at: Fri, 10 Apr 2015 09:10:52 GMT
331
+ - request:
332
+ method: delete
333
+ uri: https://api.leancloud.cn/1.1/classes/Post/5527939ce4b0da2c5defa1fc
334
+ body:
335
+ encoding: US-ASCII
336
+ string: ''
337
+ headers:
338
+ User-Agent:
339
+ - Parse for Ruby, 0.0
340
+ Content-Type:
341
+ - application/json
342
+ X-Avoscloud-Application-Id:
343
+ - <X-AVOSCloud-Application-Id>
344
+ X-Avoscloud-Application-Key:
345
+ - <X-AVOSCloud-Application-Key>
346
+ Accept-Encoding:
347
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
348
+ Accept:
349
+ - '*/*'
350
+ response:
351
+ status:
352
+ code: 200
353
+ message: OK
354
+ headers:
355
+ Server:
356
+ - Tengine
357
+ Date:
358
+ - Fri, 10 Apr 2015 09:10:52 GMT
359
+ Content-Type:
360
+ - application/json;charset=utf-8
361
+ Content-Length:
362
+ - '2'
363
+ Connection:
364
+ - keep-alive
365
+ Cache-Control:
366
+ - no-cache,no-store
367
+ Pragma:
368
+ - no-cache
369
+ Strict-Transport-Security:
370
+ - max-age=31536000
371
+ body:
372
+ encoding: UTF-8
373
+ string: '{}'
374
+ http_version:
375
+ recorded_at: Fri, 10 Apr 2015 09:10:52 GMT
376
+ - request:
377
+ method: get
378
+ uri: https://api.leancloud.cn/1.1/classes/Post/5527939ce4b0da2c5defa1fc
379
+ body:
380
+ encoding: US-ASCII
381
+ string: ''
382
+ headers:
383
+ User-Agent:
384
+ - Parse for Ruby, 0.0
385
+ Content-Type:
386
+ - application/json
387
+ X-Avoscloud-Application-Id:
388
+ - <X-AVOSCloud-Application-Id>
389
+ X-Avoscloud-Application-Key:
390
+ - <X-AVOSCloud-Application-Key>
391
+ Accept-Encoding:
392
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
393
+ Accept:
394
+ - '*/*'
395
+ response:
396
+ status:
397
+ code: 200
398
+ message: OK
399
+ headers:
400
+ Server:
401
+ - Tengine
402
+ Date:
403
+ - Fri, 10 Apr 2015 09:10:53 GMT
404
+ Content-Type:
405
+ - application/json;charset=utf-8
406
+ Content-Length:
407
+ - '2'
408
+ Connection:
409
+ - keep-alive
410
+ Cache-Control:
411
+ - no-cache,no-store
412
+ Pragma:
413
+ - no-cache
414
+ Strict-Transport-Security:
415
+ - max-age=31536000
416
+ body:
417
+ encoding: UTF-8
418
+ string: '{}'
419
+ http_version:
420
+ recorded_at: Fri, 10 Apr 2015 09:10:53 GMT
421
+ recorded_with: VCR 2.4.0