contentful_model 0.2.0 → 1.0.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 (84) hide show
  1. checksums.yaml +5 -5
  2. data/lib/contentful_model.rb +17 -13
  3. data/lib/contentful_model/asset.rb +30 -0
  4. data/lib/contentful_model/asset_dimension_query.rb +70 -0
  5. data/lib/contentful_model/asset_dimensions.rb +54 -0
  6. data/lib/contentful_model/associations/associations.rb +10 -4
  7. data/lib/contentful_model/associations/belongs_to.rb +9 -4
  8. data/lib/contentful_model/associations/belongs_to_many.rb +22 -45
  9. data/lib/contentful_model/associations/has_many.rb +15 -13
  10. data/lib/contentful_model/associations/has_many_nested.rb +39 -37
  11. data/lib/contentful_model/associations/has_one.rb +22 -14
  12. data/lib/contentful_model/base.rb +115 -74
  13. data/lib/contentful_model/client.rb +14 -3
  14. data/lib/contentful_model/errors.rb +0 -1
  15. data/lib/contentful_model/manageable.rb +49 -21
  16. data/lib/contentful_model/management.rb +1 -0
  17. data/lib/contentful_model/migrations/content_type.rb +24 -24
  18. data/lib/contentful_model/migrations/content_type_factory.rb +9 -6
  19. data/lib/contentful_model/migrations/migration.rb +9 -4
  20. data/lib/contentful_model/queries.rb +60 -9
  21. data/lib/contentful_model/query.rb +148 -5
  22. data/lib/contentful_model/validations/lambda_validation.rb +17 -0
  23. data/lib/contentful_model/validations/validates_presence_of.rb +4 -1
  24. data/lib/contentful_model/validations/validations.rb +56 -8
  25. data/lib/contentful_model/version.rb +1 -1
  26. data/spec/asset_spec.rb +141 -0
  27. data/spec/associations/belongs_to_many_spec.rb +38 -0
  28. data/spec/associations/belongs_to_spec.rb +22 -0
  29. data/spec/associations/has_many_nested_spec.rb +321 -0
  30. data/spec/associations/has_many_spec.rb +33 -0
  31. data/spec/associations/has_one_spec.rb +32 -0
  32. data/spec/base_spec.rb +199 -0
  33. data/spec/chainable_queries_spec.rb +199 -0
  34. data/spec/client_spec.rb +11 -0
  35. data/spec/contentful_model_spec.rb +25 -0
  36. data/spec/fixtures/vcr_cassettes/asset/all.yml +161 -0
  37. data/spec/fixtures/vcr_cassettes/asset/find.yml +118 -0
  38. data/spec/fixtures/vcr_cassettes/association/belongs_to_many.yml +439 -0
  39. data/spec/fixtures/vcr_cassettes/association/has_many.yml +161 -0
  40. data/spec/fixtures/vcr_cassettes/association/has_one.yml +161 -0
  41. data/spec/fixtures/vcr_cassettes/association/nested_with_root_root.yml +240 -0
  42. data/spec/fixtures/vcr_cassettes/association/nested_without_root_child_higher_include.yml +123 -0
  43. data/spec/fixtures/vcr_cassettes/association/nested_without_root_child_parent.yml +609 -0
  44. data/spec/fixtures/vcr_cassettes/association/nested_without_root_childless.yml +688 -0
  45. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle.yml +319 -0
  46. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle_higher_include.yml +161 -0
  47. data/spec/fixtures/vcr_cassettes/association/nested_without_root_middle_parent.yml +489 -0
  48. data/spec/fixtures/vcr_cassettes/association/nested_without_root_parentless.yml +331 -0
  49. data/spec/fixtures/vcr_cassettes/association/nested_without_root_parentless_higher_include.yml +82 -0
  50. data/spec/fixtures/vcr_cassettes/associations/nested_without_root_middle.yml +161 -0
  51. data/spec/fixtures/vcr_cassettes/associations/nested_without_root_middle_higher_include.yml +82 -0
  52. data/spec/fixtures/vcr_cassettes/base/content_type.yml +185 -0
  53. data/spec/fixtures/vcr_cassettes/base/return_nil_for_empty.yml +202 -0
  54. data/spec/fixtures/vcr_cassettes/base/return_nil_for_empty_with_value.yml +124 -0
  55. data/spec/fixtures/vcr_cassettes/client.yml +98 -0
  56. data/spec/fixtures/vcr_cassettes/dog.yml +161 -0
  57. data/spec/fixtures/vcr_cassettes/human.yml +199 -0
  58. data/spec/fixtures/vcr_cassettes/management/client.yml +1362 -0
  59. data/spec/fixtures/vcr_cassettes/management/nyancat.yml +1449 -0
  60. data/spec/fixtures/vcr_cassettes/management/nyancat_2.yml +1449 -0
  61. data/spec/fixtures/vcr_cassettes/management/nyancat_publish.yml +481 -0
  62. data/spec/fixtures/vcr_cassettes/management/nyancat_refetch_and_fail.yml +558 -0
  63. data/spec/fixtures/vcr_cassettes/management/nyancat_refetch_and_save.yml +620 -0
  64. data/spec/fixtures/vcr_cassettes/management/nyancat_save.yml +479 -0
  65. data/spec/fixtures/vcr_cassettes/management/nyancat_save_2.yml +479 -0
  66. data/spec/fixtures/vcr_cassettes/nyancat.yml +196 -0
  67. data/spec/fixtures/vcr_cassettes/playground/nyancat.yml +177 -0
  68. data/spec/fixtures/vcr_cassettes/query/each_entry.yml +319 -0
  69. data/spec/fixtures/vcr_cassettes/query/each_page.yml +319 -0
  70. data/spec/fixtures/vcr_cassettes/query/empty.yml +180 -0
  71. data/spec/fixtures/vcr_cassettes/query/load.yml +197 -0
  72. data/spec/fixtures/vcr_cassettes/query/manual_pagination.yml +161 -0
  73. data/spec/fixtures/vcr_cassettes/query/nyancat_invalid_elements.yml +247 -0
  74. data/spec/manageable_spec.rb +186 -0
  75. data/spec/management_spec.rb +17 -0
  76. data/spec/migrations/content_type_factory_spec.rb +41 -0
  77. data/spec/migrations/content_type_spec.rb +176 -0
  78. data/spec/migrations/migration_spec.rb +75 -0
  79. data/spec/queries_spec.rb +85 -0
  80. data/spec/query_spec.rb +126 -0
  81. data/spec/spec_helper.rb +58 -0
  82. data/spec/validations/validations_spec.rb +182 -0
  83. metadata +213 -19
  84. data/lib/contentful_model/chainable_queries.rb +0 -104
@@ -0,0 +1,479 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.contentful.com/spaces/facgnwwgj5fe/environments/master/content_types/cat
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - RubyContentfulManagementGem/1.1.0
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ Content-Length:
17
+ - '0'
18
+ Connection:
19
+ - close
20
+ Host:
21
+ - api.contentful.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Access-Control-Allow-Headers:
28
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
29
+ Access-Control-Allow-Methods:
30
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Expose-Headers:
34
+ - Etag
35
+ Access-Control-Max-Age:
36
+ - '1728000'
37
+ Cf-Space-Id:
38
+ - facgnwwgj5fe
39
+ Content-Type:
40
+ - application/vnd.contentful.management.v1+json
41
+ Date:
42
+ - Mon, 08 May 2017 14:10:53 GMT
43
+ Etag:
44
+ - '"3ebdb893e2c6c3d675f9c1d97cc55d58"'
45
+ Server:
46
+ - Contentful
47
+ Strict-Transport-Security:
48
+ - max-age=15768000
49
+ X-Content-Type-Options:
50
+ - nosniff
51
+ X-Contentful-Ratelimit-Hour-Limit:
52
+ - '36000'
53
+ X-Contentful-Ratelimit-Hour-Remaining:
54
+ - '35946'
55
+ X-Contentful-Ratelimit-Reset:
56
+ - '0'
57
+ X-Contentful-Ratelimit-Second-Limit:
58
+ - '10'
59
+ X-Contentful-Ratelimit-Second-Remaining:
60
+ - '9'
61
+ X-Contentful-Request-Id:
62
+ - 3bf94d724fe1005dec593d36cb4cf26f
63
+ Content-Length:
64
+ - '1604'
65
+ Connection:
66
+ - Close
67
+ Set-Cookie:
68
+ - incap_ses_297_673446=LGdPZX0MvXP3Uo6HiygfBG58EFkAAAAAqJds0JrIWVeXdcdHwCS7UQ==;
69
+ path=/; Domain=.contentful.com
70
+ - nlbi_673446=iGA9MjTOSxobb4qD6lKYhQAAAACDXkAnT9IyQsZIY/+xIId2; path=/; Domain=.contentful.com
71
+ - visid_incap_673446=dI7jUbLoRSuOceGAydRZbm58EFkAAAAAQUIPAAAAAADIhN6c9FvLXMlp+KaWakoV;
72
+ expires=Tue, 08 May 2018 07:00:13 GMT; path=/; Domain=.contentful.com
73
+ X-Iinfo:
74
+ - 0-22362614-22362630 NNNN CT(140 138 0) RT(1494252653354 109) q(0 0 3 -1) r(6
75
+ 6) U5
76
+ X-Cdn:
77
+ - Incapsula
78
+ body:
79
+ encoding: UTF-8
80
+ string: |
81
+ {
82
+ "name": "Cat",
83
+ "fields": [
84
+ {
85
+ "name": "Name",
86
+ "id": "name",
87
+ "type": "Symbol",
88
+ "validations": [],
89
+ "localized": false,
90
+ "required": false,
91
+ "disabled": false,
92
+ "omitted": false
93
+ },
94
+ {
95
+ "name": "Lives",
96
+ "id": "lives",
97
+ "type": "Integer",
98
+ "validations": [],
99
+ "localized": false,
100
+ "required": false,
101
+ "disabled": false,
102
+ "omitted": false
103
+ },
104
+ {
105
+ "name": "Best Friend",
106
+ "id": "bestFriend",
107
+ "type": "Link",
108
+ "linkType": "Entry",
109
+ "localized": false,
110
+ "required": false,
111
+ "disabled": false,
112
+ "omitted": false,
113
+ "validations": []
114
+ }
115
+ ],
116
+ "displayField": "name",
117
+ "description": "",
118
+ "sys": {
119
+ "id": "cat",
120
+ "type": "ContentType",
121
+ "createdAt": "2017-05-08T14:06:00.224Z",
122
+ "createdBy": {
123
+ "sys": {
124
+ "type": "Link",
125
+ "linkType": "User",
126
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
127
+ }
128
+ },
129
+ "space": {
130
+ "sys": {
131
+ "type": "Link",
132
+ "linkType": "Space",
133
+ "id": "facgnwwgj5fe"
134
+ }
135
+ },
136
+ "firstPublishedAt": "2017-05-08T14:06:00.749Z",
137
+ "publishedCounter": 1,
138
+ "publishedAt": "2017-05-08T14:06:00.749Z",
139
+ "publishedBy": {
140
+ "sys": {
141
+ "type": "Link",
142
+ "linkType": "User",
143
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
144
+ }
145
+ },
146
+ "publishedVersion": 1,
147
+ "version": 2,
148
+ "updatedAt": "2017-05-08T14:06:00.760Z",
149
+ "updatedBy": {
150
+ "sys": {
151
+ "type": "Link",
152
+ "linkType": "User",
153
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
154
+ }
155
+ }
156
+ }
157
+ }
158
+ http_version:
159
+ recorded_at: Tue, 09 May 2017 13:31:34 GMT
160
+ - request:
161
+ method: get
162
+ uri: https://cdn.contentful.com/spaces/facgnwwgj5fe/environments/master/entries?sys.id=IJLRrADsqq2AmwcugoYeK
163
+ body:
164
+ encoding: US-ASCII
165
+ string: ''
166
+ headers:
167
+ User-Agent:
168
+ - RubyContentfulGem/2.0.1
169
+ Authorization:
170
+ - Bearer 4d0f55d940975f78139daae5d965b463c0816e88ad16062d2c1ee3d6cb930521
171
+ Content-Type:
172
+ - application/vnd.contentful.delivery.v1+json
173
+ Accept-Encoding:
174
+ - gzip
175
+ Connection:
176
+ - close
177
+ Host:
178
+ - cdn.contentful.com
179
+ response:
180
+ status:
181
+ code: 200
182
+ message: OK
183
+ headers:
184
+ Access-Control-Allow-Headers:
185
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
186
+ Access-Control-Allow-Methods:
187
+ - GET,HEAD,OPTIONS
188
+ Access-Control-Allow-Origin:
189
+ - "*"
190
+ Access-Control-Expose-Headers:
191
+ - Etag
192
+ Access-Control-Max-Age:
193
+ - '86400'
194
+ Cache-Control:
195
+ - max-age=0
196
+ Content-Encoding:
197
+ - gzip
198
+ Content-Type:
199
+ - application/vnd.contentful.delivery.v1+json
200
+ Etag:
201
+ - W/"d45012aa22853e0bc06cb53248012099"
202
+ Server:
203
+ - Contentful
204
+ X-Content-Type-Options:
205
+ - nosniff
206
+ X-Contentful-Request-Id:
207
+ - 8e122b77084cbdc79dbdd45fc5da041f
208
+ Content-Length:
209
+ - '515'
210
+ Accept-Ranges:
211
+ - bytes
212
+ Date:
213
+ - Mon, 08 May 2017 14:12:30 GMT
214
+ Via:
215
+ - 1.1 varnish
216
+ Age:
217
+ - '97'
218
+ Connection:
219
+ - close
220
+ X-Served-By:
221
+ - cache-lax8630-LAX
222
+ X-Cache:
223
+ - HIT
224
+ X-Cache-Hits:
225
+ - '1'
226
+ X-Timer:
227
+ - S1494252751.714920,VS0,VE1
228
+ Vary:
229
+ - Accept-Encoding
230
+ body:
231
+ encoding: ASCII-8BIT
232
+ string: !binary |-
233
+ H4sIAAAAAAAAA62UyW7CMBCG7zwF8rlUDpCy3CLaii5UaqEHWnFwHYNcgrMZ
234
+ UFTx7vWSBBOScMGHKGN7PDO/5/Nfo9kEcRKDYfNP/AqDJwERFnCiCCVAzB1u
235
+ 5B7uc+SJeUtZ8ZoGwoDK8OiGcrkEtU052cgDv9WB+thCFBUpDhCWobIdetLI
236
+ RU6oySynV8rWQMY8DhGdrWdpzlN1YmEDdWU5S4RXbL9f/dpLIqvKxiH/V3Xq
237
+ AbTP0/PrR+Tcx2HYdjZ7vF35c/JiHJ/n9cB4lJgLOCKIE9eRsoA2tHotaLdg
238
+ f2Z1h/Bu2LZvLbv7ZTpsA7fGwYa3g5514hCRHY2pz0SAtpE49hknjKeCXE/Z
239
+ kXFuqb4Y8cuyej5Gnuouwlqf08whVx4sKfHcYzPK2wAMbZTLW4JYcyTCGOV6
240
+ dEfkdqvT6RnTPyTmjxElTF799UQoXrNKT7cKDuEkctbjvgPf++/xPNzuJ2GF
241
+ IGmb6c6T34XCiDLsbV1VToqijpeBdESpBKYKnEp3qrRrkBKrl6DK667CSjwb
242
+ JmRmy9QqdrIxy/Fcd1APWLcjeLFNXkTC9YiVuhiQqXcvG6Aas2soXg1brnsB
243
+ tzq5K6BLH3ZdUhl4IlaG3hgFQVJgT3WJpm9wok0lfNeQ5rwVDAjL32vj3goy
244
+ HZ/+EyQXwjo0Do1/KeCF7hwHAAA=
245
+ http_version:
246
+ recorded_at: Mon, 08 May 2017 14:12:31 GMT
247
+ - request:
248
+ method: put
249
+ uri: https://api.contentful.com/spaces/facgnwwgj5fe/environments/master/entries/IJLRrADsqq2AmwcugoYeK
250
+ body:
251
+ encoding: UTF-8
252
+ string: '{"fields":{"name":{"en-US":"Fat Cat"},"lives":{"en-US":1337},"bestFriend":{"en-US":{"sys":{"type":"Link","linkType":"Entry","id":"cq0MrAkH8A0Q8QsYquwMq"}}}}}'
253
+ headers:
254
+ User-Agent:
255
+ - RubyContentfulManagementGem/1.1.0
256
+ Authorization:
257
+ - Bearer <ACCESS_TOKEN>
258
+ Content-Type:
259
+ - application/vnd.contentful.management.v1+json
260
+ X-Contentful-Version:
261
+ - '11'
262
+ Connection:
263
+ - close
264
+ Host:
265
+ - api.contentful.com
266
+ response:
267
+ status:
268
+ code: 200
269
+ message: OK
270
+ headers:
271
+ Access-Control-Allow-Headers:
272
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
273
+ Access-Control-Allow-Methods:
274
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
275
+ Access-Control-Allow-Origin:
276
+ - "*"
277
+ Access-Control-Expose-Headers:
278
+ - Etag
279
+ Access-Control-Max-Age:
280
+ - '1728000'
281
+ Cf-Space-Id:
282
+ - facgnwwgj5fe
283
+ Content-Type:
284
+ - application/vnd.contentful.management.v1+json
285
+ Date:
286
+ - Mon, 08 May 2017 14:12:31 GMT
287
+ Etag:
288
+ - '"3d73c6910a0841e439e9d03b8bcd553f"'
289
+ Server:
290
+ - Contentful
291
+ Strict-Transport-Security:
292
+ - max-age=15768000
293
+ X-Content-Type-Options:
294
+ - nosniff
295
+ X-Contentful-Ratelimit-Hour-Limit:
296
+ - '36000'
297
+ X-Contentful-Ratelimit-Hour-Remaining:
298
+ - '35945'
299
+ X-Contentful-Ratelimit-Reset:
300
+ - '0'
301
+ X-Contentful-Ratelimit-Second-Limit:
302
+ - '10'
303
+ X-Contentful-Ratelimit-Second-Remaining:
304
+ - '9'
305
+ X-Contentful-Request-Id:
306
+ - c8e694cf4b1ae9853071eab298209b34
307
+ Content-Length:
308
+ - '1298'
309
+ Connection:
310
+ - Close
311
+ Set-Cookie:
312
+ - incap_ses_297_673446=+xMyBPPFMUeNPI+HiygfBM98EFkAAAAAhL60GdYEdrYgPkcWbPoC8Q==;
313
+ path=/; Domain=.contentful.com
314
+ - nlbi_673446=CuDmRqANJDSdk50a6lKYhQAAAADCcw1aontAdp1qX4r5of8g; path=/; Domain=.contentful.com
315
+ - visid_incap_673446=tILKVAloQhSyKeZpT47jt898EFkAAAAAQUIPAAAAAAC6Ffk0Tpsgt949F94LmOUf;
316
+ expires=Tue, 08 May 2018 07:00:04 GMT; path=/; Domain=.contentful.com
317
+ X-Iinfo:
318
+ - 8-45297508-45297549 NNNN CT(144 284 0) RT(1494252751079 141) q(0 0 4 -1) r(6
319
+ 6) U5
320
+ X-Cdn:
321
+ - Incapsula
322
+ body:
323
+ encoding: UTF-8
324
+ string: |
325
+ {
326
+ "fields": {
327
+ "name": {
328
+ "en-US": "Fat Cat"
329
+ },
330
+ "lives": {
331
+ "en-US": 1337
332
+ },
333
+ "bestFriend": {
334
+ "en-US": {
335
+ "sys": {
336
+ "type": "Link",
337
+ "linkType": "Entry",
338
+ "id": "cq0MrAkH8A0Q8QsYquwMq"
339
+ }
340
+ }
341
+ }
342
+ },
343
+ "sys": {
344
+ "id": "IJLRrADsqq2AmwcugoYeK",
345
+ "type": "Entry",
346
+ "createdAt": "2017-05-08T14:06:14.367Z",
347
+ "createdBy": {
348
+ "sys": {
349
+ "type": "Link",
350
+ "linkType": "User",
351
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
352
+ }
353
+ },
354
+ "space": {
355
+ "sys": {
356
+ "type": "Link",
357
+ "linkType": "Space",
358
+ "id": "facgnwwgj5fe"
359
+ }
360
+ },
361
+ "contentType": {
362
+ "sys": {
363
+ "type": "Link",
364
+ "linkType": "ContentType",
365
+ "id": "cat"
366
+ }
367
+ },
368
+ "firstPublishedAt": "2017-05-08T14:06:25.154Z",
369
+ "publishedCounter": 2,
370
+ "publishedAt": "2017-05-08T14:06:50.971Z",
371
+ "publishedBy": {
372
+ "sys": {
373
+ "type": "Link",
374
+ "linkType": "User",
375
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
376
+ }
377
+ },
378
+ "publishedVersion": 10,
379
+ "version": 12,
380
+ "updatedAt": "2017-05-08T14:12:31.829Z",
381
+ "updatedBy": {
382
+ "sys": {
383
+ "type": "Link",
384
+ "linkType": "User",
385
+ "id": "4SejVrWT96dvL9IV4Nb7sQ"
386
+ }
387
+ }
388
+ }
389
+ }
390
+ http_version:
391
+ recorded_at: Mon, 08 May 2017 14:12:32 GMT
392
+ - request:
393
+ method: get
394
+ uri: https://cdn.contentful.com/spaces/facgnwwgj5fe/environments/master/entries?sys.id=IJLRrADsqq2AmwcugoYeK
395
+ body:
396
+ encoding: US-ASCII
397
+ string: ''
398
+ headers:
399
+ User-Agent:
400
+ - RubyContentfulGem/2.0.1
401
+ Authorization:
402
+ - Bearer 4d0f55d940975f78139daae5d965b463c0816e88ad16062d2c1ee3d6cb930521
403
+ Content-Type:
404
+ - application/vnd.contentful.delivery.v1+json
405
+ Accept-Encoding:
406
+ - gzip
407
+ Connection:
408
+ - close
409
+ Host:
410
+ - cdn.contentful.com
411
+ response:
412
+ status:
413
+ code: 200
414
+ message: OK
415
+ headers:
416
+ Access-Control-Allow-Headers:
417
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation,X-Contentful-User-Agent
418
+ Access-Control-Allow-Methods:
419
+ - GET,HEAD,OPTIONS
420
+ Access-Control-Allow-Origin:
421
+ - "*"
422
+ Access-Control-Expose-Headers:
423
+ - Etag
424
+ Access-Control-Max-Age:
425
+ - '86400'
426
+ Cache-Control:
427
+ - max-age=0
428
+ Content-Encoding:
429
+ - gzip
430
+ Content-Type:
431
+ - application/vnd.contentful.delivery.v1+json
432
+ Etag:
433
+ - W/"d45012aa22853e0bc06cb53248012099"
434
+ Server:
435
+ - Contentful
436
+ X-Content-Type-Options:
437
+ - nosniff
438
+ X-Contentful-Request-Id:
439
+ - 8e122b77084cbdc79dbdd45fc5da041f
440
+ Content-Length:
441
+ - '515'
442
+ Accept-Ranges:
443
+ - bytes
444
+ Date:
445
+ - Mon, 08 May 2017 14:12:32 GMT
446
+ Via:
447
+ - 1.1 varnish
448
+ Age:
449
+ - '100'
450
+ Connection:
451
+ - close
452
+ X-Served-By:
453
+ - cache-lax8649-LAX
454
+ X-Cache:
455
+ - HIT
456
+ X-Cache-Hits:
457
+ - '1'
458
+ X-Timer:
459
+ - S1494252753.793291,VS0,VE1
460
+ Vary:
461
+ - Accept-Encoding
462
+ body:
463
+ encoding: ASCII-8BIT
464
+ string: !binary |-
465
+ H4sIAAAAAAAAA62UyW7CMBCG7zwF8rlUDpCy3CLaii5UaqEHWnFwHYNcgrMZ
466
+ UFTx7vWSBBOScMGHKGN7PDO/5/Nfo9kEcRKDYfNP/AqDJwERFnCiCCVAzB1u
467
+ 5B7uc+SJeUtZ8ZoGwoDK8OiGcrkEtU052cgDv9WB+thCFBUpDhCWobIdetLI
468
+ RU6oySynV8rWQMY8DhGdrWdpzlN1YmEDdWU5S4RXbL9f/dpLIqvKxiH/V3Xq
469
+ AbTP0/PrR+Tcx2HYdjZ7vF35c/JiHJ/n9cB4lJgLOCKIE9eRsoA2tHotaLdg
470
+ f2Z1h/Bu2LZvLbv7ZTpsA7fGwYa3g5514hCRHY2pz0SAtpE49hknjKeCXE/Z
471
+ kXFuqb4Y8cuyej5Gnuouwlqf08whVx4sKfHcYzPK2wAMbZTLW4JYcyTCGOV6
472
+ dEfkdqvT6RnTPyTmjxElTF799UQoXrNKT7cKDuEkctbjvgPf++/xPNzuJ2GF
473
+ IGmb6c6T34XCiDLsbV1VToqijpeBdESpBKYKnEp3qrRrkBKrl6DK667CSjwb
474
+ JmRmy9QqdrIxy/Fcd1APWLcjeLFNXkTC9YiVuhiQqXcvG6Aas2soXg1brnsB
475
+ tzq5K6BLH3ZdUhl4IlaG3hgFQVJgT3WJpm9wok0lfNeQ5rwVDAjL32vj3goy
476
+ HZ/+EyQXwjo0Do1/KeCF7hwHAAA=
477
+ http_version:
478
+ recorded_at: Mon, 08 May 2017 14:12:33 GMT
479
+ recorded_with: VCR 3.0.3