contentful 2.15.3 → 2.15.4

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.
@@ -37,8 +37,8 @@ module Contentful
37
37
  # Delegates to items#[]
38
38
  #
39
39
  # @return [Contentful::Entry, Contentful::Asset]
40
- def [](index)
41
- items[index]
40
+ def [](*args)
41
+ items[*args]
42
42
  end
43
43
 
44
44
  # Delegates to items#last
@@ -93,6 +93,10 @@ module Contentful
93
93
  end
94
94
 
95
95
  def define_asset_methods!
96
+ define_singleton_method :title do
97
+ fields.fetch(:title, nil)
98
+ end
99
+
96
100
  define_singleton_method :description do
97
101
  fields.fetch(:description, nil)
98
102
  end
@@ -36,7 +36,8 @@ module Contentful
36
36
  end
37
37
 
38
38
  {
39
- configuration: @configuration.merge(entry_mapping: entry_mapping),
39
+ # loggers usually have a file handle that can't be marshalled, so let's not return that
40
+ configuration: @configuration.merge(entry_mapping: entry_mapping, logger: nil),
40
41
  raw: raw
41
42
  }
42
43
  end
@@ -30,7 +30,6 @@ module Contentful
30
30
  raw_mode: false,
31
31
  gzip_encoded: true,
32
32
  logger: false,
33
- log_level: Logger::INFO,
34
33
  proxy_host: nil,
35
34
  proxy_username: nil,
36
35
  proxy_password: nil,
@@ -105,7 +104,7 @@ module Contentful
105
104
  # @private
106
105
  def setup_logger
107
106
  @logger = configuration[:logger]
108
- logger.level = configuration[:log_level] if logger
107
+ logger.level = configuration[:log_level] if logger && configuration.key?(:log_level)
109
108
  end
110
109
 
111
110
  # @private
@@ -1,5 +1,5 @@
1
1
  # Contentful Namespace
2
2
  module Contentful
3
3
  # Gem Version
4
- VERSION = '2.15.3'
4
+ VERSION = '2.15.4'
5
5
  end
@@ -36,6 +36,16 @@ describe Contentful::Array do
36
36
  end
37
37
  end
38
38
 
39
+ describe '#[]' do
40
+ it 'provides access to items by index' do
41
+ expect(array[0]).to be_a Contentful::BaseResource
42
+ end
43
+
44
+ it 'provides access to items by two indices' do
45
+ expect(array[0, 4]).to eq array.items
46
+ end
47
+ end
48
+
39
49
  describe '#each' do
40
50
  it 'is an Enumerator' do
41
51
  expect(array.each).to be_a Enumerator
@@ -48,6 +48,23 @@ describe 'Client Configuration Options' do
48
48
  end
49
49
  end
50
50
 
51
+ describe ':log_level' do
52
+
53
+ let(:logger) { Logger.new(STDOUT) }
54
+
55
+ it 'changes the level of the logger instance when given' do
56
+ expect do
57
+ create_client(logger: logger, log_level: ::Logger::WARN)
58
+ end.to change { logger.level }.from(::Logger::DEBUG).to(::Logger::WARN)
59
+ end
60
+
61
+ it 'does not change the level of the logger instance when not given' do
62
+ expect do
63
+ create_client(logger: logger)
64
+ end.not_to change { logger.level }
65
+ end
66
+ end
67
+
51
68
  describe ':dynamic_entries' do
52
69
  before :each do
53
70
  Contentful::ContentTypeCache.clear!
@@ -200,6 +200,16 @@ describe Contentful::Entry do
200
200
  }
201
201
  end
202
202
 
203
+ it 'marshals with a logger set but keeps the instance' do
204
+ logger = Logger.new(IO::NULL)
205
+ vcr('entry/marshall') {
206
+ nyancat = create_client(gzip_encoded: false, max_include_resolution_depth: 2, logger: logger).entries(include: 2, 'sys.id' => 'nyancat').first
207
+ expect(nyancat.instance_variable_get(:@configuration)[:logger]).to eq(logger)
208
+ test_dump(nyancat)
209
+ expect(nyancat.instance_variable_get(:@configuration)[:logger]).to eq(logger)
210
+ }
211
+ end
212
+
203
213
  it 'can remarshall an unmarshalled object' do
204
214
  vcr('entry/marshall') {
205
215
  nyancat = create_client(max_include_resolution_depth: 2).entries(include: 2, 'sys.id' => 'nyancat').first
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.15.3
4
+ version: 2.15.4
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: 2020-04-15 00:00:00.000000000 Z
13
+ date: 2020-06-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: http
@@ -252,6 +252,7 @@ files:
252
252
  - ".rspec"
253
253
  - ".rubocop.yml"
254
254
  - ".rubocop_todo.yml"
255
+ - ".ruby-version"
255
256
  - ".travis.yml"
256
257
  - ".yardopts"
257
258
  - CHANGELOG.md
@@ -263,33 +264,40 @@ files:
263
264
  - RELEASE.md
264
265
  - Rakefile
265
266
  - contentful.gemspec
267
+ - contentful.rb.sublime-project
268
+ - contentful.rb.sublime-workspace
266
269
  - coverage/.last_run.json
267
270
  - coverage/.resultset.json
268
271
  - coverage/.resultset.json.lock
269
- - coverage/assets/0.10.2/application.css
270
- - coverage/assets/0.10.2/application.js
271
- - coverage/assets/0.10.2/colorbox/border.png
272
- - coverage/assets/0.10.2/colorbox/controls.png
273
- - coverage/assets/0.10.2/colorbox/loading.gif
274
- - coverage/assets/0.10.2/colorbox/loading_background.png
275
- - coverage/assets/0.10.2/favicon_green.png
276
- - coverage/assets/0.10.2/favicon_red.png
277
- - coverage/assets/0.10.2/favicon_yellow.png
278
- - coverage/assets/0.10.2/loading.gif
279
- - coverage/assets/0.10.2/magnify.png
280
- - coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
281
- - coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
282
- - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
283
- - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
284
- - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png
285
- - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
286
- - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
287
- - coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
288
- - coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png
289
- - coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png
290
- - coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png
291
- - coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png
292
- - coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png
272
+ - coverage/assets/0.12.2/DataTables-1.10.20/images/sort_asc.png
273
+ - coverage/assets/0.12.2/DataTables-1.10.20/images/sort_asc_disabled.png
274
+ - coverage/assets/0.12.2/DataTables-1.10.20/images/sort_both.png
275
+ - coverage/assets/0.12.2/DataTables-1.10.20/images/sort_desc.png
276
+ - coverage/assets/0.12.2/DataTables-1.10.20/images/sort_desc_disabled.png
277
+ - coverage/assets/0.12.2/application.css
278
+ - coverage/assets/0.12.2/application.js
279
+ - coverage/assets/0.12.2/colorbox/border.png
280
+ - coverage/assets/0.12.2/colorbox/controls.png
281
+ - coverage/assets/0.12.2/colorbox/loading.gif
282
+ - coverage/assets/0.12.2/colorbox/loading_background.png
283
+ - coverage/assets/0.12.2/favicon_green.png
284
+ - coverage/assets/0.12.2/favicon_red.png
285
+ - coverage/assets/0.12.2/favicon_yellow.png
286
+ - coverage/assets/0.12.2/images/ui-bg_flat_0_aaaaaa_40x100.png
287
+ - coverage/assets/0.12.2/images/ui-bg_flat_75_ffffff_40x100.png
288
+ - coverage/assets/0.12.2/images/ui-bg_glass_55_fbf9ee_1x400.png
289
+ - coverage/assets/0.12.2/images/ui-bg_glass_65_ffffff_1x400.png
290
+ - coverage/assets/0.12.2/images/ui-bg_glass_75_dadada_1x400.png
291
+ - coverage/assets/0.12.2/images/ui-bg_glass_75_e6e6e6_1x400.png
292
+ - coverage/assets/0.12.2/images/ui-bg_glass_95_fef1ec_1x400.png
293
+ - coverage/assets/0.12.2/images/ui-bg_highlight-soft_75_cccccc_1x100.png
294
+ - coverage/assets/0.12.2/images/ui-icons_222222_256x240.png
295
+ - coverage/assets/0.12.2/images/ui-icons_2e83ff_256x240.png
296
+ - coverage/assets/0.12.2/images/ui-icons_454545_256x240.png
297
+ - coverage/assets/0.12.2/images/ui-icons_888888_256x240.png
298
+ - coverage/assets/0.12.2/images/ui-icons_cd0a0a_256x240.png
299
+ - coverage/assets/0.12.2/loading.gif
300
+ - coverage/assets/0.12.2/magnify.png
293
301
  - coverage/index.html
294
302
  - doc/Contentful.html
295
303
  - doc/Contentful/AccessDenied.html
@@ -333,7 +341,6 @@ files:
333
341
  - doc/Contentful/ServiceUnavailable.html
334
342
  - doc/Contentful/Space.html
335
343
  - doc/Contentful/StringCoercion.html
336
- - doc/Contentful/StructuredTextCoercion.html
337
344
  - doc/Contentful/Support.html
338
345
  - doc/Contentful/SymbolCoercion.html
339
346
  - doc/Contentful/Sync.html
@@ -535,7 +542,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
535
542
  - !ruby/object:Gem::Version
536
543
  version: '0'
537
544
  requirements: []
538
- rubygems_version: 3.0.3
545
+ rubygems_version: 3.1.2
539
546
  signing_key:
540
547
  specification_version: 4
541
548
  summary: contentful