contentful 2.11.0 → 2.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4119a15a3968b909e9128d54c7a1daefe677940a9b9a4fb0665daba4717887c0
4
- data.tar.gz: dce1c341f2e1826c5ef7116d4cbe81f03ceb833e925aaa452e844075a1586fdb
3
+ metadata.gz: f1fbecbc8ac849d1c1c4388b0dfcb53db763b237195c03f1e2fbdea09d8544d8
4
+ data.tar.gz: acbc31c3bfe0073f945ba181ab16f0bc878327182fc15c7fe222ba8ee4ad11aa
5
5
  SHA512:
6
- metadata.gz: e18f6f53144ad186ca24fe6f8305bb1c432d3d691068e7181232ea7996bd6625048cbeae61fd931b2ce7948bc34b1b12c905fc93afe927f21f52c1005b0733e0
7
- data.tar.gz: 69a2cf198c6ec8e1972c99cb887daa23d11338a2249a585c81cf52d3dacb263bbef8e58161532de933872e2b1d05328ea0b63e877b4bea6e585cd3229facf05e
6
+ metadata.gz: f1fc0748c09d0bb5a70f26f35ac90805443b87e3a3a71189a08b0c682a846b9fa53de2b4fb1f07c754ccaae81a692a73598b9059c89fe79fad7d4a06911e71ae
7
+ data.tar.gz: 786f075c50d8588cddbe9cbe77ec565fb4ad504176a112e522e9e8018e3d0b9f4901848fb91f68833c47c242383e5ed98fa353264d13152179e21f6b9957041a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.11.1
6
+ ### Fixed
7
+ * Fixed coercion error when same entry was included more than once in the same RichText field. [#194](https://github.com/contentful/contentful.rb/pull/194)
8
+
5
9
  ## 2.11.0
6
10
  ### Added
7
11
  * Added `:raise_for_empty_fields` configuration option. [#190](https://github.com/contentful/contentful.rb/issues/190)
@@ -150,6 +150,7 @@ module Contentful
150
150
 
151
151
  def coerce_link(node, configuration)
152
152
  return node unless node.key?('data') && node['data'].key?('target')
153
+ return node['data']['target'] unless node['data']['target'].is_a?(::Hash)
153
154
  return node unless node['data']['target']['sys']['type'] == 'Link'
154
155
 
155
156
  return nil if Support.unresolvable?(node['data']['target'], configuration[:errors])
@@ -1,5 +1,5 @@
1
1
  # Contentful Namespace
2
2
  module Contentful
3
3
  # Gem Version
4
- VERSION = '2.11.0'
4
+ VERSION = '2.11.1'
5
5
  end
data/spec/entry_spec.rb CHANGED
@@ -605,6 +605,25 @@ describe Contentful::Entry do
605
605
  }
606
606
  end
607
607
 
608
+ it 'doesnt hydrate the same entry twice - #194' do
609
+ vcr('entries/rich_text_hydration_issue') {
610
+ entry = nil
611
+
612
+ expect {
613
+ entry = create_client(
614
+ space: 'fds721b88p6b',
615
+ access_token: '45ba81cc69423fcd2e3f0a4779de29481bb5c11495bc7e14649a996cf984e98e',
616
+ raise_errors: true,
617
+ dynamic_entries: :auto,
618
+ gzip_encoded: false
619
+ ).entry('1tBAu0wP9qAQEg6qCqMics')
620
+ }.not_to raise_error
621
+
622
+ expect(entry.children[0].id).to eq entry.children[1].id
623
+ expect(entry.children[0].body).to eq entry.children[1].body
624
+ }
625
+ end
626
+
608
627
  it 'respects content in data attribute if its not a Link' do
609
628
  vcr('entries/rich_text_nested_fields') {
610
629
  entry = create_client(
@@ -0,0 +1,460 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cdn.contentful.com/spaces/fds721b88p6b/environments/master/content_types?limit=1000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Contentful-User-Agent:
11
+ - sdk contentful.rb/2.11.0; platform ruby/2.5.1; os macOS/16;
12
+ Authorization:
13
+ - Bearer 45ba81cc69423fcd2e3f0a4779de29481bb5c11495bc7e14649a996cf984e98e
14
+ Content-Type:
15
+ - application/vnd.contentful.delivery.v1+json
16
+ Connection:
17
+ - close
18
+ Host:
19
+ - cdn.contentful.com
20
+ User-Agent:
21
+ - http.rb/2.2.2
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,X-Contentful-Enable-Alpha-Feature
29
+ Access-Control-Allow-Methods:
30
+ - GET,HEAD,OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Expose-Headers:
34
+ - Etag
35
+ Access-Control-Max-Age:
36
+ - '86400'
37
+ Cache-Control:
38
+ - max-age=0
39
+ Content-Type:
40
+ - application/vnd.contentful.delivery.v1+json
41
+ Contentful-Api:
42
+ - cda_cached
43
+ Etag:
44
+ - W/"0b36f7d0dc57d8512fa4ef1b1e09677f"
45
+ Server:
46
+ - Contentful
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Contentful-Region:
50
+ - us-east-1
51
+ X-Contentful-Request-Id:
52
+ - f0c71ea0ad5ce51dc4856255c32a1cc9
53
+ Content-Length:
54
+ - '2358'
55
+ Accept-Ranges:
56
+ - bytes
57
+ Date:
58
+ - Wed, 23 Jan 2019 12:09:12 GMT
59
+ Via:
60
+ - 1.1 varnish
61
+ Age:
62
+ - '0'
63
+ Connection:
64
+ - close
65
+ X-Served-By:
66
+ - cache-fra19141-FRA
67
+ X-Cache:
68
+ - MISS
69
+ X-Cache-Hits:
70
+ - '0'
71
+ Vary:
72
+ - Accept-Encoding
73
+ body:
74
+ encoding: ASCII-8BIT
75
+ string: |
76
+ {
77
+ "sys": {
78
+ "type": "Array"
79
+ },
80
+ "total": 2,
81
+ "skip": 0,
82
+ "limit": 1000,
83
+ "items": [
84
+ {
85
+ "sys": {
86
+ "space": {
87
+ "sys": {
88
+ "type": "Link",
89
+ "linkType": "Space",
90
+ "id": "fds721b88p6b"
91
+ }
92
+ },
93
+ "id": "child",
94
+ "type": "ContentType",
95
+ "createdAt": "2018-11-22T13:48:47.928Z",
96
+ "updatedAt": "2018-11-22T13:48:47.928Z",
97
+ "environment": {
98
+ "sys": {
99
+ "id": "master",
100
+ "type": "Link",
101
+ "linkType": "Environment"
102
+ }
103
+ },
104
+ "revision": 1
105
+ },
106
+ "displayField": "title",
107
+ "name": "Child",
108
+ "description": "",
109
+ "fields": [
110
+ {
111
+ "id": "title",
112
+ "name": "Title",
113
+ "type": "Symbol",
114
+ "localized": false,
115
+ "required": false,
116
+ "disabled": false,
117
+ "omitted": false
118
+ },
119
+ {
120
+ "id": "body",
121
+ "name": "Body",
122
+ "type": "RichText",
123
+ "localized": false,
124
+ "required": false,
125
+ "disabled": false,
126
+ "omitted": false
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "sys": {
132
+ "space": {
133
+ "sys": {
134
+ "type": "Link",
135
+ "linkType": "Space",
136
+ "id": "fds721b88p6b"
137
+ }
138
+ },
139
+ "id": "parent",
140
+ "type": "ContentType",
141
+ "createdAt": "2018-11-22T13:46:07.272Z",
142
+ "updatedAt": "2018-11-22T13:46:07.272Z",
143
+ "environment": {
144
+ "sys": {
145
+ "id": "master",
146
+ "type": "Link",
147
+ "linkType": "Environment"
148
+ }
149
+ },
150
+ "revision": 1
151
+ },
152
+ "displayField": "title",
153
+ "name": "Parent",
154
+ "description": "",
155
+ "fields": [
156
+ {
157
+ "id": "title",
158
+ "name": "Title",
159
+ "type": "Symbol",
160
+ "localized": false,
161
+ "required": false,
162
+ "disabled": false,
163
+ "omitted": false
164
+ },
165
+ {
166
+ "id": "children",
167
+ "name": "Children",
168
+ "type": "Array",
169
+ "localized": false,
170
+ "required": false,
171
+ "disabled": false,
172
+ "omitted": false,
173
+ "items": {
174
+ "type": "Link",
175
+ "validations": [],
176
+ "linkType": "Entry"
177
+ }
178
+ }
179
+ ]
180
+ }
181
+ ]
182
+ }
183
+ http_version:
184
+ recorded_at: Wed, 23 Jan 2019 12:09:11 GMT
185
+ - request:
186
+ method: get
187
+ uri: https://cdn.contentful.com/spaces/fds721b88p6b/environments/master/entries?sys.id=1tBAu0wP9qAQEg6qCqMics
188
+ body:
189
+ encoding: US-ASCII
190
+ string: ''
191
+ headers:
192
+ X-Contentful-User-Agent:
193
+ - sdk contentful.rb/2.11.0; platform ruby/2.5.1; os macOS/16;
194
+ Authorization:
195
+ - Bearer 45ba81cc69423fcd2e3f0a4779de29481bb5c11495bc7e14649a996cf984e98e
196
+ Content-Type:
197
+ - application/vnd.contentful.delivery.v1+json
198
+ Connection:
199
+ - close
200
+ Host:
201
+ - cdn.contentful.com
202
+ User-Agent:
203
+ - http.rb/2.2.2
204
+ response:
205
+ status:
206
+ code: 200
207
+ message: OK
208
+ headers:
209
+ Access-Control-Allow-Headers:
210
+ - 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,X-Contentful-Enable-Alpha-Feature
211
+ Access-Control-Allow-Methods:
212
+ - GET,HEAD,OPTIONS
213
+ Access-Control-Allow-Origin:
214
+ - "*"
215
+ Access-Control-Expose-Headers:
216
+ - Etag
217
+ Access-Control-Max-Age:
218
+ - '86400'
219
+ Cache-Control:
220
+ - max-age=0
221
+ Content-Type:
222
+ - application/vnd.contentful.delivery.v1+json
223
+ Contentful-Api:
224
+ - cda_cached
225
+ Etag:
226
+ - W/"c5d3dbad3fcadc2086a73db56968fd73"
227
+ Server:
228
+ - Contentful
229
+ X-Content-Type-Options:
230
+ - nosniff
231
+ X-Contentful-Region:
232
+ - us-east-1
233
+ X-Contentful-Request-Id:
234
+ - 97afce355d464bf7117e1b5b783c395c
235
+ Content-Length:
236
+ - '4825'
237
+ Accept-Ranges:
238
+ - bytes
239
+ Date:
240
+ - Wed, 23 Jan 2019 12:09:12 GMT
241
+ Via:
242
+ - 1.1 varnish
243
+ Age:
244
+ - '0'
245
+ Connection:
246
+ - close
247
+ X-Served-By:
248
+ - cache-fra19127-FRA
249
+ X-Cache:
250
+ - MISS
251
+ X-Cache-Hits:
252
+ - '0'
253
+ Vary:
254
+ - Accept-Encoding
255
+ body:
256
+ encoding: ASCII-8BIT
257
+ string: |
258
+ {
259
+ "sys": {
260
+ "type": "Array"
261
+ },
262
+ "total": 1,
263
+ "skip": 0,
264
+ "limit": 100,
265
+ "items": [
266
+ {
267
+ "sys": {
268
+ "space": {
269
+ "sys": {
270
+ "type": "Link",
271
+ "linkType": "Space",
272
+ "id": "fds721b88p6b"
273
+ }
274
+ },
275
+ "id": "1tBAu0wP9qAQEg6qCqMics",
276
+ "type": "Entry",
277
+ "createdAt": "2018-11-22T13:49:04.334Z",
278
+ "updatedAt": "2018-11-22T13:50:01.448Z",
279
+ "environment": {
280
+ "sys": {
281
+ "id": "master",
282
+ "type": "Link",
283
+ "linkType": "Environment"
284
+ }
285
+ },
286
+ "revision": 2,
287
+ "contentType": {
288
+ "sys": {
289
+ "type": "Link",
290
+ "linkType": "ContentType",
291
+ "id": "parent"
292
+ }
293
+ },
294
+ "locale": "en-US"
295
+ },
296
+ "fields": {
297
+ "title": "Parent",
298
+ "children": [
299
+ {
300
+ "sys": {
301
+ "type": "Link",
302
+ "linkType": "Entry",
303
+ "id": "2RJFAOGr1KeCQuYiASOY82"
304
+ }
305
+ },
306
+ {
307
+ "sys": {
308
+ "type": "Link",
309
+ "linkType": "Entry",
310
+ "id": "2RJFAOGr1KeCQuYiASOY82"
311
+ }
312
+ },
313
+ {
314
+ "sys": {
315
+ "type": "Link",
316
+ "linkType": "Entry",
317
+ "id": "5YcYYsGv3q4Oq68WQcOiAA"
318
+ }
319
+ }
320
+ ]
321
+ }
322
+ }
323
+ ],
324
+ "includes": {
325
+ "Entry": [
326
+ {
327
+ "sys": {
328
+ "space": {
329
+ "sys": {
330
+ "type": "Link",
331
+ "linkType": "Space",
332
+ "id": "fds721b88p6b"
333
+ }
334
+ },
335
+ "id": "2RJFAOGr1KeCQuYiASOY82",
336
+ "type": "Entry",
337
+ "createdAt": "2018-11-22T13:49:38.406Z",
338
+ "updatedAt": "2018-11-22T13:49:38.406Z",
339
+ "environment": {
340
+ "sys": {
341
+ "id": "master",
342
+ "type": "Link",
343
+ "linkType": "Environment"
344
+ }
345
+ },
346
+ "revision": 1,
347
+ "contentType": {
348
+ "sys": {
349
+ "type": "Link",
350
+ "linkType": "ContentType",
351
+ "id": "child"
352
+ }
353
+ },
354
+ "locale": "en-US"
355
+ },
356
+ "fields": {
357
+ "title": "Child",
358
+ "body": {
359
+ "data": {},
360
+ "content": [
361
+ {
362
+ "data": {},
363
+ "content": [
364
+ {
365
+ "data": {},
366
+ "marks": [],
367
+ "value": "Some stuff here",
368
+ "nodeType": "text"
369
+ }
370
+ ],
371
+ "nodeType": "paragraph"
372
+ },
373
+ {
374
+ "data": {
375
+ "target": {
376
+ "sys": {
377
+ "id": "3VDkQdyZ9YYaEceWKgGcAG",
378
+ "type": "Link",
379
+ "linkType": "Entry"
380
+ }
381
+ }
382
+ },
383
+ "content": [],
384
+ "nodeType": "embedded-entry-block"
385
+ },
386
+ {
387
+ "data": {},
388
+ "content": [
389
+ {
390
+ "data": {},
391
+ "marks": [],
392
+ "value": "",
393
+ "nodeType": "text"
394
+ }
395
+ ],
396
+ "nodeType": "paragraph"
397
+ }
398
+ ],
399
+ "nodeType": "document"
400
+ }
401
+ }
402
+ },
403
+ {
404
+ "sys": {
405
+ "space": {
406
+ "sys": {
407
+ "type": "Link",
408
+ "linkType": "Space",
409
+ "id": "fds721b88p6b"
410
+ }
411
+ },
412
+ "id": "5YcYYsGv3q4Oq68WQcOiAA",
413
+ "type": "Entry",
414
+ "createdAt": "2018-11-22T13:49:58.353Z",
415
+ "updatedAt": "2018-11-22T13:49:58.353Z",
416
+ "environment": {
417
+ "sys": {
418
+ "id": "master",
419
+ "type": "Link",
420
+ "linkType": "Environment"
421
+ }
422
+ },
423
+ "revision": 1,
424
+ "contentType": {
425
+ "sys": {
426
+ "type": "Link",
427
+ "linkType": "ContentType",
428
+ "id": "child"
429
+ }
430
+ },
431
+ "locale": "en-US"
432
+ },
433
+ "fields": {
434
+ "title": "Other Child",
435
+ "body": {
436
+ "data": {},
437
+ "content": [
438
+ {
439
+ "data": {},
440
+ "content": [
441
+ {
442
+ "data": {},
443
+ "marks": [],
444
+ "value": "Some other stuff here",
445
+ "nodeType": "text"
446
+ }
447
+ ],
448
+ "nodeType": "paragraph"
449
+ }
450
+ ],
451
+ "nodeType": "document"
452
+ }
453
+ }
454
+ }
455
+ ]
456
+ }
457
+ }
458
+ http_version:
459
+ recorded_at: Wed, 23 Jan 2019 12:09:11 GMT
460
+ recorded_with: VCR 4.0.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contentful
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.0
4
+ version: 2.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Contentful GmbH (Jan Lelis)
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-11-08 00:00:00.000000000 Z
13
+ date: 2019-01-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: http
@@ -451,6 +451,7 @@ files:
451
451
  - spec/fixtures/vcr_cassettes/entries/issue_117.yml
452
452
  - spec/fixtures/vcr_cassettes/entries/issue_125.yml
453
453
  - spec/fixtures/vcr_cassettes/entries/rich_text.yml
454
+ - spec/fixtures/vcr_cassettes/entries/rich_text_hydration_issue.yml
454
455
  - spec/fixtures/vcr_cassettes/entries/rich_text_nested_fields.yml
455
456
  - spec/fixtures/vcr_cassettes/entries/rich_text_unresolved_relationships.yml
456
457
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter.yml
@@ -597,6 +598,7 @@ test_files:
597
598
  - spec/fixtures/vcr_cassettes/entries/issue_117.yml
598
599
  - spec/fixtures/vcr_cassettes/entries/issue_125.yml
599
600
  - spec/fixtures/vcr_cassettes/entries/rich_text.yml
601
+ - spec/fixtures/vcr_cassettes/entries/rich_text_hydration_issue.yml
600
602
  - spec/fixtures/vcr_cassettes/entries/rich_text_nested_fields.yml
601
603
  - spec/fixtures/vcr_cassettes/entries/rich_text_unresolved_relationships.yml
602
604
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter.yml