contentful 2.15.3 → 2.15.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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