contentful 2.8.1 → 2.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1ad7719eac2d1ecec165d0a791478cce7cc1525bf6618b867b4b39284f6b84a2
4
- data.tar.gz: 8d4441d877f5fda9817b9a6d813d18d0a489cdd01bf9668ad4f33fd0892db318
3
+ metadata.gz: 98009b534c8ea22dbfa1f4b1192aa715b8ead44425dbaf71ee2523ed67ec9202
4
+ data.tar.gz: 1a0f6a62fcc889d813d9e4d3ea603c37bfc09744a7d77541fc00bfbf0c9134b3
5
5
  SHA512:
6
- metadata.gz: 62491bdaddf51c6e0ae687959969210ba3508cc32c991da3085b676dfe28c05d6c95c6d51732c07b49556a94d9df61d6fe4975503b1becc3b6a50a088f5a6313
7
- data.tar.gz: a0f0e6b4cb28382025573024d72d5ec913772fd0d88ae152291008c7541dc07eebce0897953726fdc08906f34c94ef9d99ef3c80ebd88f762181f8872f80e6f6
6
+ metadata.gz: 9347ad13c5afd28b1da636e2468acf097c139175d3399eaae93cd627c7868d53d2c334b5a8a78c8f2ed2d91c656a1a46565a35f44f1297262b906dec7873e3b3
7
+ data.tar.gz: ec4acb6965b3e9c2a7dcd8a9045ac5fa8f02edb8a0e2a15fb2213e18c7837e798fb47a892f4df1fe909c68154520cd015e55dc8a27be51ec6180231e8af854bb
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.9.1
6
+
7
+ **Note:** This release includes support for `StructuredText`, this is an **alpha** feature and changes are to be expected. Further releases of this feature
8
+ will not increase a major version even if changes are breaking.
9
+
10
+ ### Added
11
+ * Added support for `StructuredText` field type.
12
+
13
+ ### Fixed
14
+ * Fixed `DateCoercion` when value is already a `Date`, `DateTime` or `Time` object. [contentful_model/#121](https://github.com/contentful/contentful_model/issues/121)
15
+
16
+ ## 2.9.0 **YANKED**
17
+
18
+ Yanked due to faulty release
19
+
5
20
  ## 2.8.1
6
21
  ### Fixed
7
22
  * Fixed deeply nested resources now also filter unresolvable entries. [#177](https://github.com/contentful/contentful.rb/issues/177)
@@ -10,7 +10,7 @@ module Contentful
10
10
  end
11
11
 
12
12
  # Coerces value
13
- def coerce
13
+ def coerce(*)
14
14
  value
15
15
  end
16
16
  end
@@ -18,7 +18,7 @@ module Contentful
18
18
  # Coercion for String Types
19
19
  class StringCoercion < BaseCoercion
20
20
  # Coerces value to String
21
- def coerce
21
+ def coerce(*)
22
22
  value.to_s
23
23
  end
24
24
  end
@@ -32,7 +32,7 @@ module Contentful
32
32
  # Coercion for Integer Types
33
33
  class IntegerCoercion < BaseCoercion
34
34
  # Coerces value to Integer
35
- def coerce
35
+ def coerce(*)
36
36
  value.to_i
37
37
  end
38
38
  end
@@ -40,7 +40,7 @@ module Contentful
40
40
  # Coercion for Float Types
41
41
  class FloatCoercion < BaseCoercion
42
42
  # Coerces value to Float
43
- def coerce
43
+ def coerce(*)
44
44
  value.to_f
45
45
  end
46
46
  end
@@ -48,7 +48,7 @@ module Contentful
48
48
  # Coercion for Boolean Types
49
49
  class BooleanCoercion < BaseCoercion
50
50
  # Coerces value to Boolean
51
- def coerce
51
+ def coerce(*)
52
52
  # rubocop:disable Style/DoubleNegation
53
53
  !!value
54
54
  # rubocop:enable Style/DoubleNegation
@@ -58,8 +58,9 @@ module Contentful
58
58
  # Coercion for Date Types
59
59
  class DateCoercion < BaseCoercion
60
60
  # Coerces value to DateTime
61
- def coerce
61
+ def coerce(*)
62
62
  return nil if value.nil?
63
+ return value if value.is_a?(Date)
63
64
 
64
65
  DateTime.parse(value)
65
66
  end
@@ -68,7 +69,7 @@ module Contentful
68
69
  # Coercion for Location Types
69
70
  class LocationCoercion < BaseCoercion
70
71
  # Coerces value to Location
71
- def coerce
72
+ def coerce(*)
72
73
  Location.new(value)
73
74
  end
74
75
  end
@@ -76,7 +77,7 @@ module Contentful
76
77
  # Coercion for Object Types
77
78
  class ObjectCoercion < BaseCoercion
78
79
  # Coerces value to hash, symbolizing each key
79
- def coerce
80
+ def coerce(*)
80
81
  JSON.parse(JSON.dump(value), symbolize_names: true)
81
82
  end
82
83
  end
@@ -90,10 +91,73 @@ module Contentful
90
91
  # Coercion for Array Types
91
92
  class ArrayCoercion < BaseCoercion
92
93
  # Coerces value for each element
93
- def coerce
94
+ def coerce(*)
94
95
  value.map do |e|
95
96
  options[:coercion_class].new(e).coerce
96
97
  end
97
98
  end
98
99
  end
100
+
101
+ # Coercion for StructuredText Types
102
+ class StructuredTextCoercion < BaseCoercion
103
+ # Resolves includes and removes unresolvable nodes
104
+ def coerce(configuration)
105
+ coerce_block(value, configuration)
106
+ end
107
+
108
+ private
109
+
110
+ def link?(node)
111
+ node['nodeClass'] == 'block' && node.key?('data')
112
+ end
113
+
114
+ def content_block?(node)
115
+ node['nodeClass'] == 'block' && node.key?('content')
116
+ end
117
+
118
+ def coerce_block(block, configuration)
119
+ return block unless block.is_a?(Hash) && block.key?('content')
120
+
121
+ invalid_nodes = []
122
+ block['content'].each_with_index do |node, index|
123
+ if link?(node)
124
+ link = coerce_link(node, configuration)
125
+
126
+ if !link.nil?
127
+ node['data'] = link
128
+ else
129
+ invalid_nodes << index
130
+ end
131
+ elsif content_block?(node)
132
+ node['content'] = coerce_block(node, configuration)
133
+ end
134
+ end
135
+
136
+ invalid_nodes.each do |index|
137
+ block['content'].delete_at(index)
138
+ end
139
+
140
+ block
141
+ end
142
+
143
+ def coerce_link(node, configuration)
144
+ return node unless node.key?('data') && node['data'].key?('target')
145
+ return node unless node['data']['target']['sys']['type'] == 'Link'
146
+
147
+ return nil if Support.unresolvable?(node['data']['target'], configuration[:errors])
148
+
149
+ resource = Support.resource_for_link(
150
+ node['data']['target'],
151
+ configuration[:includes_for_single]
152
+ )
153
+
154
+ ResourceBuilder.new(
155
+ resource,
156
+ configuration,
157
+ configuration[:localized],
158
+ configuration[:depth] + 1,
159
+ configuration[:errors]
160
+ ).run
161
+ end
162
+ end
99
163
  end
@@ -26,7 +26,15 @@ module Contentful
26
26
 
27
27
  unless content_type.nil?
28
28
  content_type_field = content_type.field_for(field_id)
29
- return content_type_field.coerce(value) unless content_type_field.nil?
29
+ coercion_configuration = @configuration.merge(
30
+ includes_for_single:
31
+ @configuration.fetch(:includes_for_single, []) + includes,
32
+ _entries_cache: entries,
33
+ localized: localized,
34
+ depth: @depth,
35
+ errors: errors
36
+ )
37
+ return content_type_field.coerce(value, coercion_configuration) unless content_type_field.nil?
30
38
  end
31
39
 
32
40
  super(field_id, value, includes, errors, entries)
@@ -7,17 +7,18 @@ module Contentful
7
7
  class Field
8
8
  # Coercions from Contentful Types to Ruby native types
9
9
  KNOWN_TYPES = {
10
- 'String' => StringCoercion,
11
- 'Text' => TextCoercion,
12
- 'Symbol' => SymbolCoercion,
13
- 'Integer' => IntegerCoercion,
14
- 'Number' => FloatCoercion,
15
- 'Boolean' => BooleanCoercion,
16
- 'Date' => DateCoercion,
17
- 'Location' => LocationCoercion,
18
- 'Object' => ObjectCoercion,
19
- 'Array' => ArrayCoercion,
20
- 'Link' => LinkCoercion
10
+ 'String' => StringCoercion,
11
+ 'Text' => TextCoercion,
12
+ 'Symbol' => SymbolCoercion,
13
+ 'Integer' => IntegerCoercion,
14
+ 'Number' => FloatCoercion,
15
+ 'Boolean' => BooleanCoercion,
16
+ 'Date' => DateCoercion,
17
+ 'Location' => LocationCoercion,
18
+ 'Object' => ObjectCoercion,
19
+ 'Array' => ArrayCoercion,
20
+ 'Link' => LinkCoercion,
21
+ 'StructuredText' => StructuredTextCoercion
21
22
  }
22
23
 
23
24
  attr_reader :raw, :id, :name, :type, :link_type, :items, :required, :localized
@@ -34,13 +35,13 @@ module Contentful
34
35
  end
35
36
 
36
37
  # Coerces value to proper type
37
- def coerce(value)
38
+ def coerce(value, configuration)
38
39
  return value if type.nil?
39
40
  return value if value.nil?
40
41
 
41
42
  options = {}
42
43
  options[:coercion_class] = KNOWN_TYPES[items.type] unless items.nil?
43
- KNOWN_TYPES[type].new(value, options).coerce
44
+ KNOWN_TYPES[type].new(value, options).coerce(configuration)
44
45
  end
45
46
  end
46
47
  end
@@ -20,6 +20,8 @@ module Contentful
20
20
  end
21
21
 
22
22
  def unresolvable?(value, errors)
23
+ return true if value.nil?
24
+
23
25
  errors.any? { |i| i.fetch('details', {}).fetch('id', nil) == value['sys']['id'] }
24
26
  end
25
27
 
@@ -1,5 +1,5 @@
1
1
  # Contentful Namespace
2
2
  module Contentful
3
3
  # Gem Version
4
- VERSION = '2.8.1'
4
+ VERSION = '2.9.1'
5
5
  end
@@ -513,4 +513,30 @@ describe Contentful::Entry do
513
513
  }
514
514
  end
515
515
  end
516
+
517
+ describe 'structured text support' do
518
+ it 'properly serializes and resolves includes' do
519
+ vcr('entries/structured_text') {
520
+ entry = create_client(
521
+ space: 'jd7yc4wnatx3',
522
+ access_token: '6256b8ef7d66805ca41f2728271daf27e8fa6055873b802a813941a0fe696248',
523
+ raise_errors: true,
524
+ dynamic_entries: :auto
525
+ ).entry('4BupPSmi4M02m0U48AQCSM')
526
+
527
+ expected_entry_occurrances = 2
528
+ embedded_entry_index = 1
529
+ entry.body['content'].each do |content|
530
+ if content['nodeType'] == 'embedded-entry-block'
531
+ expect(content['data']).to be_a Contentful::Entry
532
+ expect(content['data'].body).to eq "Embedded #{embedded_entry_index}"
533
+ expected_entry_occurrances -= 1
534
+ embedded_entry_index += 1
535
+ end
536
+ end
537
+
538
+ expect(expected_entry_occurrances).to eq 0
539
+ }
540
+ end
541
+ end
516
542
  end
@@ -84,6 +84,12 @@ describe Contentful::Field do
84
84
  coercion = Contentful::DateCoercion.new(nil)
85
85
  expect(coercion.coerce).to eq(nil)
86
86
  end
87
+
88
+ it 'can coerce properly when value is already datetime' do
89
+ value = DateTime.new
90
+ coercion = Contentful::DateCoercion.new(value)
91
+ expect(coercion.coerce).to eq value
92
+ end
87
93
  end
88
94
  end
89
95
  end
@@ -0,0 +1,167 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cdn.contentful.com/spaces/jd7yc4wnatx3/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.8.1; platform ruby/2.5.1; os macOS/16;
12
+ Authorization:
13
+ - Bearer 6256b8ef7d66805ca41f2728271daf27e8fa6055873b802a813941a0fe696248
14
+ Content-Type:
15
+ - application/vnd.contentful.delivery.v1+json
16
+ Accept-Encoding:
17
+ - gzip
18
+ Connection:
19
+ - close
20
+ Host:
21
+ - cdn.contentful.com
22
+ User-Agent:
23
+ - http.rb/2.2.2
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Access-Control-Allow-Headers:
30
+ - 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
31
+ Access-Control-Allow-Methods:
32
+ - GET,HEAD,OPTIONS
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Expose-Headers:
36
+ - Etag
37
+ Access-Control-Max-Age:
38
+ - '86400'
39
+ Cache-Control:
40
+ - max-age=0
41
+ Content-Encoding:
42
+ - gzip
43
+ Content-Type:
44
+ - application/vnd.contentful.delivery.v1+json
45
+ Contentful-Api:
46
+ - cda_cached
47
+ Etag:
48
+ - W/"0ecb92174772cc7a40d4a981e109aaab"
49
+ Server:
50
+ - Contentful
51
+ X-Content-Type-Options:
52
+ - nosniff
53
+ X-Contentful-Region:
54
+ - us-east-1
55
+ X-Contentful-Request-Id:
56
+ - 1a2b79142c2ef390f65d8cb4f0c541e2
57
+ Content-Length:
58
+ - '459'
59
+ Accept-Ranges:
60
+ - bytes
61
+ Date:
62
+ - Thu, 23 Aug 2018 11:27:31 GMT
63
+ Via:
64
+ - 1.1 varnish
65
+ Age:
66
+ - '0'
67
+ Connection:
68
+ - close
69
+ X-Served-By:
70
+ - cache-mia17622-MIA
71
+ X-Cache:
72
+ - MISS
73
+ X-Cache-Hits:
74
+ - '0'
75
+ X-Timer:
76
+ - S1535023652.578501,VS0,VE253
77
+ Vary:
78
+ - Accept-Encoding
79
+ body:
80
+ encoding: ASCII-8BIT
81
+ string: !binary |-
82
+ H4sIAAAAAAAAA91VPW/CMBDd+RXIc0Em0DbKRis6VV1gasVg4kNycZzUNpQU8d9rOyRxoqJSFakfXvCdfffuXu6ZXafbRSpXKOruzNYYOs/AWGgsJcmR8e0v7B2dasKNP3CWWrHMGNgZnCVMG2uAceFgGhKb8cllLPK2YByUykhsscobhdMrxjqcsyzqnokVsqD1MvBiNTsUPXUZWxcYtf080+s8Hr0KordD21a59tXeNVosVMRAsgBKgXoZq1JuU6FBaIfsBcYSiAY6toSgAA/CHg57QTAb4Gg0ivB1PwyvHv2AdUa/FgBiw2QqEgN+EndFKwlRGmSbmlN5nXiYn3InYcMUS4UdicPlilpEmco4ye8YcPdZFinNq6qQIIkbvkmbeERBxZJlusiL6pClzVRPm/1+jXkq2m/A2DsV1I1fgDspSZnmySLlDcoQT2PC2ZsZiai7JFyBP2tIwsuaySOHpnOy4EcOUyMhMzZl1nomD7u5+z3Q+IcVpfQMlD6TnobRJe6HODhZTx8G/C89OQWVQ1kN+bRJ+3fV1ABpqOnBh/99aqrVeq43Qst1rNdG8zPY+nNt/xd/9q0wL8a8s++8A8NDyyriBwAA
83
+ http_version:
84
+ recorded_at: Thu, 23 Aug 2018 11:27:32 GMT
85
+ - request:
86
+ method: get
87
+ uri: https://cdn.contentful.com/spaces/jd7yc4wnatx3/environments/master/entries?sys.id=4BupPSmi4M02m0U48AQCSM
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ X-Contentful-User-Agent:
93
+ - sdk contentful.rb/2.8.1; platform ruby/2.5.1; os macOS/16;
94
+ Authorization:
95
+ - Bearer 6256b8ef7d66805ca41f2728271daf27e8fa6055873b802a813941a0fe696248
96
+ Content-Type:
97
+ - application/vnd.contentful.delivery.v1+json
98
+ Accept-Encoding:
99
+ - gzip
100
+ Connection:
101
+ - close
102
+ Host:
103
+ - cdn.contentful.com
104
+ User-Agent:
105
+ - http.rb/2.2.2
106
+ response:
107
+ status:
108
+ code: 200
109
+ message: OK
110
+ headers:
111
+ Access-Control-Allow-Headers:
112
+ - 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
113
+ Access-Control-Allow-Methods:
114
+ - GET,HEAD,OPTIONS
115
+ Access-Control-Allow-Origin:
116
+ - "*"
117
+ Access-Control-Expose-Headers:
118
+ - Etag
119
+ Access-Control-Max-Age:
120
+ - '86400'
121
+ Cache-Control:
122
+ - max-age=0
123
+ Content-Encoding:
124
+ - gzip
125
+ Content-Type:
126
+ - application/vnd.contentful.delivery.v1+json
127
+ Contentful-Api:
128
+ - cda_cached
129
+ Etag:
130
+ - W/"e5e280b9148978c6597c59a64282d404"
131
+ Server:
132
+ - Contentful
133
+ X-Content-Type-Options:
134
+ - nosniff
135
+ X-Contentful-Region:
136
+ - us-east-1
137
+ X-Contentful-Request-Id:
138
+ - 152b5492a6f5a30dc61b85b2c8e38b98
139
+ Content-Length:
140
+ - '1194'
141
+ Accept-Ranges:
142
+ - bytes
143
+ Date:
144
+ - Thu, 23 Aug 2018 11:27:32 GMT
145
+ Via:
146
+ - 1.1 varnish
147
+ Age:
148
+ - '0'
149
+ Connection:
150
+ - close
151
+ X-Served-By:
152
+ - cache-mia17627-MIA
153
+ X-Cache:
154
+ - MISS
155
+ X-Cache-Hits:
156
+ - '0'
157
+ X-Timer:
158
+ - S1535023652.232526,VS0,VE316
159
+ Vary:
160
+ - Accept-Encoding
161
+ body:
162
+ encoding: ASCII-8BIT
163
+ string: !binary |-
164
+ H4sIAAAAAAAAA+1aW3PaOBR+z6/w+HnJGBco8MYy6U4mzXSzhNnd7vRBWGqiYsusLNMwnfz36uKLJNvATiGkrHlIsJHOOfp0rtL5duE4brJJ3LHzjX/lD2yzQvzJnVAKNi5/9/yLGMNiBkL+viufkiVe8QdPPoQ4wkz85KlnzFAkCP4jCSqyFhfJKVmBQLDKR6iXmizihXyZy/Qek6UreJYfzp0s7zOZZ5KiNQBDsZwv8O0m6H0lgD29EavKP8/Fd7lO9XHVnN6v6er3WYR7t54fefPecHI3nd1q9AvBrgijG/2HgCLAEJwIXFzf6w473rDj+/ddb9zrj/vdy0Fv9FGfkK5g/YQ3Y2849vzLkd83JiCyxjQmESKCx24M1ZIikDBEbYj2xfdK47kTQ4rWOMEx4dL5GrRBTBiXOduy3XLvK9tUo1urAQm7RwnbvfdhHIBQmgAinfksn1Coh/sZoxCWFiNUxiUgUlYThs47vvUpRYm+vYsYbuxtypAoLCXXPh0TSZxrBhCTNQ3N9LSJhPjZJiNJRYAupW1+MjHK6K1BmMp1zOIIOY8IQEweLG3JhpIYotzuGHpizaOmIUgET1cOM6xX0CotUFGuSObqrDKZOt0KPzms4LXg27g0mVnw2ficAubKIuQmnQjaFaDggYLVY0Wqg0Fb2XyXAfqAbA+mFKEmZuQ/SJgyJz2i8ef36/XT9AO+vr3Gg2g5BLiyBDVzWyQpmOoRRTn2ithVra2+eUFrrV3tqdQIRQsEIYId7uXppqMM0fY2B9OoF0RZ+sQkXbxmt+hXVOFVIl1jUPUBSxp6Y/wrTDZPEhZxCCsIFKPixRcUyIxMhMFqJBID7Wgk3lUikpTKjJWNnE9lhi/gzQ9pe8fSCMzLFhycRicUbz0PzFXxrIP8z6AWKYGI8kBvV4vaBh3TW2xn37qMbBvsFF363X1LmFqbb6FtoS1tfN+KsBKcfrxs6X98N7rr3Qzwn7O/r+f+h3nizcFdrc5ynd9yCJKvxjgIa8sWDoudylXSOMMZnG3ZUqtTrR88hB+UFSEFX538HM4uc2XAOt/jnENmehXrlNgVRVarxUc7650QJyWrdBHi5BFBRzrCcYv30fD+v0F7hOzpX//xt7+WsM+up5to0JsED+jmphbXNnkq090iVTRuSg5xK3O2yZOM8FFM0dmFeM0qjdBrpCswDlJ5w6wnNuaJcjGkIJjn3eq/+CsZuIjSmO7TGKAudkjM/kBJHK7Bgl/HajfIeTEk6VWvZyFiAIfW/awiucttNNVZzbWVvUZMgjCF/O636KdQpVjeDaGfcht9F8o2a3siOHR6h0Zpz03iZrR2dUZwutt7I8wSykj29r98a+yR4Oy3d0n43uVgaDQ98CmNfRKysUJOGeh9EkLvGjslmpHd0i2xK6JYylJ2aRhxUC9OTWS1vgnZbFN47ebOieZ1bD04MCRt7p8o9CT38ta1uiajuZKGToqspSjT0ppuCs4w65dwr7LLRKdbMi38S45OeUxYYyg/m0ntcTD0AyY1unzb/Y8mVTelNSnHrWlG44qrO91XblJ+jUlJW/7E/z5fPF98BxAE8RQdKAAA
165
+ http_version:
166
+ recorded_at: Thu, 23 Aug 2018 11:27:32 GMT
167
+ 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.8.1
4
+ version: 2.9.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-08-16 00:00:00.000000000 Z
13
+ date: 2018-08-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: http
@@ -337,6 +337,7 @@ files:
337
337
  - doc/Contentful/ServiceUnavailable.html
338
338
  - doc/Contentful/Space.html
339
339
  - doc/Contentful/StringCoercion.html
340
+ - doc/Contentful/StructuredTextCoercion.html
340
341
  - doc/Contentful/Support.html
341
342
  - doc/Contentful/SymbolCoercion.html
342
343
  - doc/Contentful/Sync.html
@@ -452,6 +453,7 @@ files:
452
453
  - spec/fixtures/vcr_cassettes/entries.yml
453
454
  - spec/fixtures/vcr_cassettes/entries/issue_117.yml
454
455
  - spec/fixtures/vcr_cassettes/entries/issue_125.yml
456
+ - spec/fixtures/vcr_cassettes/entries/structured_text.yml
455
457
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter.yml
456
458
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter_deeply_nested.yml
457
459
  - spec/fixtures/vcr_cassettes/entry.yml
@@ -593,6 +595,7 @@ test_files:
593
595
  - spec/fixtures/vcr_cassettes/entries.yml
594
596
  - spec/fixtures/vcr_cassettes/entries/issue_117.yml
595
597
  - spec/fixtures/vcr_cassettes/entries/issue_125.yml
598
+ - spec/fixtures/vcr_cassettes/entries/structured_text.yml
596
599
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter.yml
597
600
  - spec/fixtures/vcr_cassettes/entries/unresolvable_filter_deeply_nested.yml
598
601
  - spec/fixtures/vcr_cassettes/entry.yml