grape-entity 0.10.1 → 0.10.2

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: 9e3db71fd839585d80faac0980ec028b1204def600b6ce36101e2986e0be3cbf
4
- data.tar.gz: 7bfcb78548991ed3ab73bfc1f23a51e1e32c2af7ccba472e87b9a767a9499c79
3
+ metadata.gz: 4a89222a95fe66dc86d907762352275aa328a0423a461e2f5a7c8fc806a92f09
4
+ data.tar.gz: a06ad75430e568a7e4cd2e9b6b329011e8382003c5882f690199403be58928c7
5
5
  SHA512:
6
- metadata.gz: 1ba1bf0a642f56275e8279b34d433591a21c7849ede46d0718fd6496831d4f5b5bd676bda0af6bf435beebe5c717ace6c0b53c1c90db92fdecccb8d88cdbe044
7
- data.tar.gz: c06a650f7c29dd918fa8b83ab62dd04b91448bcddc440a43e48d055f5499982b6c4532f18abc7429f71f464895b083f8e551748c9d9fdf0f8072c2cd1af0e438
6
+ metadata.gz: 1bc3419fea51eb0c7c7c78f8f4e510c9d73bfe210cee2aa1f2aaaee92725d02334ab235818a37300c733c0970c9ee40cf56a022b421937ec6662d3e67da3e85f
7
+ data.tar.gz: 4f31cb8e01fbba21883bbf432fa557d0ca7f85d3c1d42a0aac0e4143c4add3af37e7f24b4fc315ff55502a640bffa0d185e8c3081d8a8b5492d45dc1b0102233
@@ -12,3 +12,9 @@ updates:
12
12
  day: "friday"
13
13
  assignees:
14
14
  - "LeFnord"
15
+ - package-ecosystem: "github-actions"
16
+ directory: "/"
17
+ schedule:
18
+ interval: weekly
19
+ assignees:
20
+ - "LeFnord"
@@ -0,0 +1,41 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '*'
7
+ pull_request:
8
+ branches:
9
+ - '*'
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ rubocop:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: '3.1'
22
+ bundler-cache: true
23
+ - name: Run rubocop
24
+ run: bundle exec rubocop --parallel --format progress
25
+
26
+ rspec:
27
+ runs-on: ubuntu-latest
28
+ needs: ['rubocop']
29
+ strategy:
30
+ matrix:
31
+ ruby-version: ['2.7', '3.0', '3.1', 'head', jruby, truffleruby]
32
+ steps:
33
+ - name: Check out branch
34
+ uses: actions/checkout@v3
35
+ - name: Set up Ruby
36
+ uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: ${{ matrix.ruby-version }}
39
+ bundler-cache: true
40
+ - name: Run rspec rest of the suite
41
+ run: bundle exec rspec
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ AllCops:
5
5
  - vendor/**/*
6
6
  - example/**/*
7
7
  NewCops: enable
8
- TargetRubyVersion: 3.0
8
+ TargetRubyVersion: 3.1
9
9
  SuggestExtensions: false
10
10
 
11
11
  # Layout stuff
@@ -77,6 +77,9 @@ Naming:
77
77
  Style/Documentation:
78
78
  Enabled: false
79
79
 
80
+ Style/HashSyntax:
81
+ Enabled: false
82
+
80
83
  Style/OptionalBooleanParameter:
81
84
  AllowedMethods:
82
85
  # from lib/grape_entity/condition/base.rb
data/.rubocop_todo.yml CHANGED
@@ -1,11 +1,27 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-11-07 00:01:40 UTC using RuboCop version 1.2.0.
3
+ # on 2022-07-26 21:29:59 UTC using RuboCop version 1.32.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ # Offense count: 1
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: Include.
12
+ # Include: **/*.gemspec
13
+ Gemspec/DeprecatedAttributeAssignment:
14
+ Exclude:
15
+ - 'grape-entity.gemspec'
16
+
17
+ # Offense count: 1
18
+ # This cop supports safe autocorrection (--autocorrect).
19
+ # Configuration parameters: Include.
20
+ # Include: **/*.gemspec
21
+ Gemspec/RequireMFA:
22
+ Exclude:
23
+ - 'grape-entity.gemspec'
24
+
9
25
  # Offense count: 1
10
26
  # Configuration parameters: Include.
11
27
  # Include: **/*.gemspec
@@ -14,14 +30,20 @@ Gemspec/RequiredRubyVersion:
14
30
  - 'grape-entity.gemspec'
15
31
 
16
32
  # Offense count: 6
17
- # Cop supports --auto-correct.
33
+ # This cop supports unsafe autocorrection (--autocorrect-all).
18
34
  Lint/BooleanSymbol:
19
35
  Exclude:
20
36
  - 'spec/grape_entity/exposure_spec.rb'
21
37
 
22
- # Offense count: 1
23
- # Cop supports --auto-correct.
24
- # Configuration parameters: IgnoredMethods.
38
+ # Offense count: 15
39
+ Style/OpenStructUse:
40
+ Exclude:
41
+ - 'lib/grape_entity/delegator.rb'
42
+ - 'spec/grape_entity/entity_spec.rb'
43
+
44
+ # Offense count: 2
45
+ # This cop supports unsafe autocorrection (--autocorrect-all).
46
+ # Configuration parameters: AllowMethodsWithArguments, IgnoredMethods, AllowComments.
25
47
  # IgnoredMethods: respond_to, define_method
26
48
  Style/SymbolProc:
27
49
  Exclude:
data/CHANGELOG.md CHANGED
@@ -9,6 +9,15 @@
9
9
  * Your contribution here.
10
10
 
11
11
 
12
+ ### 0.10.2 (2022-07-29)
13
+
14
+ #### Fixes
15
+
16
+ * [#366](https://github.com/ruby-grape/grape-entity/pull/366): Don't suppress regular ArgumentError exceptions - [splattael](https://github.com/splattael).
17
+ * [#363](https://github.com/ruby-grape/grape-entity/pull/338): Fix typo - [@OuYangJinTing](https://github.com/OuYangJinTing).
18
+ * [#361](https://github.com/ruby-grape/grape-entity/pull/361): Require 'active_support/core_ext' - [@pravi](https://github.com/pravi).
19
+
20
+
12
21
  ### 0.10.1 (2021-10-22)
13
22
 
14
23
  #### Fixes
data/CONTRIBUTING.md CHANGED
@@ -78,7 +78,7 @@ git push origin my-feature-branch
78
78
 
79
79
  #### Make a Pull Request
80
80
 
81
- Go to https://github.com/contributor/grape-entity and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
81
+ Go to https://github.com/ruby-grape/grape-entity and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
82
82
 
83
83
  #### Rebase
84
84
 
@@ -522,7 +522,10 @@ module Grape
522
522
  end
523
523
  rescue StandardError => e
524
524
  # it handles: https://github.com/ruby/ruby/blob/v3_0_0_preview1/NEWS.md#language-changes point 3, Proc
525
- raise Grape::Entity::Deprecated.new e.message, 'in ruby 3.0' if e.is_a?(ArgumentError)
525
+ # accounting for expose :foo, &:bar
526
+ if e.is_a?(ArgumentError) && block.parameters == [[:req], [:rest]]
527
+ raise Grape::Entity::Deprecated.new e.message, 'in ruby 3.0'
528
+ end
526
529
 
527
530
  raise e
528
531
  end
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'active_support'
4
+ require 'active_support/core_ext'
5
+
3
6
  module Grape
4
7
  class Entity
5
8
  module Exposure
@@ -9,7 +9,7 @@ module Grape
9
9
 
10
10
  attr_reader :opts_hash
11
11
 
12
- def_delegators :opts_hash, :dig, :key?, :fetch, :[], :empty
12
+ def_delegators :opts_hash, :dig, :key?, :fetch, :[], :empty?
13
13
 
14
14
  def initialize(opts_hash = {})
15
15
  @opts_hash = opts_hash
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GrapeEntity
4
- VERSION = '0.10.1'
4
+ VERSION = '0.10.2'
5
5
  end
@@ -389,6 +389,10 @@ describe Grape::Entity do
389
389
  def method_without_args
390
390
  'result'
391
391
  end
392
+
393
+ def raises_argument_error
394
+ raise ArgumentError, 'something different'
395
+ end
392
396
  end
393
397
 
394
398
  describe 'with block passed in' do
@@ -402,6 +406,17 @@ describe Grape::Entity do
402
406
  value = subject.represent(object).value_for(:that_method_without_args)
403
407
  expect(value).to eq('result')
404
408
  end
409
+
410
+ it 'does not suppress ArgumentError' do
411
+ subject.expose :raises_argument_error do |object|
412
+ object.raises_argument_error
413
+ end
414
+
415
+ object = SomeObject.new
416
+ expect do
417
+ subject.represent(object).value_for(:raises_argument_error)
418
+ end.to raise_error(ArgumentError, 'something different')
419
+ end
405
420
  end
406
421
 
407
422
  context 'with block passed in via &' do
data/spec/spec_helper.rb CHANGED
@@ -9,12 +9,16 @@ require 'active_support/core_ext/hash' if ActiveSupport::VERSION &&
9
9
  ActiveSupport::VERSION::MAJOR &&
10
10
  ActiveSupport::VERSION::MAJOR < 4
11
11
 
12
- SimpleCov.start do
13
- add_filter 'spec/'
12
+ # Skip code covarge on Ruby >= 3.1
13
+ # See https://github.com/simplecov-ruby/simplecov/issues/1003
14
+ unless RUBY_VERSION >= '3.1'
15
+ SimpleCov.start do
16
+ add_filter 'spec/'
17
+ end
18
+
19
+ Coveralls.wear! unless RUBY_PLATFORM.eql? 'java'
14
20
  end
15
21
 
16
- Coveralls.wear! unless RUBY_PLATFORM.eql? 'java'
17
-
18
22
  $LOAD_PATH.unshift(File.dirname(__FILE__))
19
23
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
20
24
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'support'))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-entity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-22 00:00:00.000000000 Z
11
+ date: 2022-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -160,8 +160,7 @@ extra_rdoc_files: []
160
160
  files:
161
161
  - ".coveralls.yml"
162
162
  - ".github/dependabot.yml"
163
- - ".github/workflows/rubocop.yml"
164
- - ".github/workflows/ruby.yml"
163
+ - ".github/workflows/ci.yml"
165
164
  - ".gitignore"
166
165
  - ".rspec"
167
166
  - ".rubocop.yml"
@@ -232,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
232
231
  - !ruby/object:Gem::Version
233
232
  version: '0'
234
233
  requirements: []
235
- rubygems_version: 3.2.22
234
+ rubygems_version: 3.3.7
236
235
  signing_key:
237
236
  specification_version: 4
238
237
  summary: A simple facade for managing the relationship between your model and API.
@@ -1,26 +0,0 @@
1
- name: Rubocop
2
-
3
- on:
4
- push:
5
- branches:
6
- - '*'
7
- pull_request:
8
- branches:
9
- - '*'
10
-
11
- jobs:
12
- rubocop:
13
- name: Rubocop
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: actions/checkout@v2
17
- - uses: actions/setup-ruby@v1
18
- with:
19
- ruby-version: '3.0'
20
- - run: gem install rubocop --no-doc
21
- - run: rubocop --format progress --format json --out rubocop.json
22
- id: rubocop
23
- - uses: duderman/rubocop-annotate-action@v0.1.0
24
- with:
25
- path: rubocop.json
26
- if: ${{ failure() }}
@@ -1,26 +0,0 @@
1
- name: Ruby
2
-
3
- on:
4
- push:
5
- branches:
6
- - '*'
7
- pull_request:
8
- branches:
9
- - '*'
10
-
11
- jobs:
12
- spec:
13
- runs-on: ubuntu-latest
14
- strategy:
15
- matrix:
16
- ruby-version: ['2.6', '2.7', '3.0', head, jruby, truffleruby]
17
-
18
- steps:
19
- - uses: actions/checkout@v2
20
- - name: Set up Ruby
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- ruby-version: ${{ matrix.ruby-version }}
24
- bundler-cache: true
25
- - name: Run rspec
26
- run: bundle exec rspec