sevencop 0.33.0 → 0.34.0

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: 2aa8a2d8e7e48840c1bfdfd2c512e4117d52c5d525663ba0d25dbfe815ca1f70
4
- data.tar.gz: 9d3a6b87ee268c2dddc82b7eaaf85bc431bce6a36dfb401717986a16e4445b79
3
+ metadata.gz: 33aea941e4f044a45b702d9c9e700c1d9a42aa5f4f44819e506e83b9b939849b
4
+ data.tar.gz: 83f1c6d8f55256f5a6f89a9cbc632efe084b6acd70cdbc2aaef4f6c7a339fbdd
5
5
  SHA512:
6
- metadata.gz: 14a1f39bda2b687ff9784812eb8600ce792f5bca38a7eb542f268ebb7f23b20b482ef424f50e953cd0f268fee652f787de4f556192ba479d90543521c9a955cd
7
- data.tar.gz: '08a48ae20f4716f2ea593054e74c684f31e8392a70177eb9076cd4b41fde6bd800000c4655545ade7385b366cd82d7fc985bbc66c0a69d1d1220e22e3a342f5b'
6
+ metadata.gz: dc6b9622262cee943fe8d5274155ea7a3d5c46948d3f5b22c3f6b651e37b032eeaa6f3c63757de06e347c4d3fbcab22723ca612c4acb28445662671ca5f5dae9
7
+ data.tar.gz: 3e4400c2c7c2b63c7f0733888e05793f5c752d59771aae2308d5a19164d177843296a31bfecfef4b2d789cc998a172df4973412c4a8eb04d658e6366ba669cbe
data/.rubocop.yml CHANGED
@@ -39,7 +39,6 @@ RSpec/FilePath:
39
39
  RSpecEmptyLineAfterLet: rspec_empty_line_after_let
40
40
  RSpecExamplesInSameGroup: rspec_examples_in_same_group
41
41
  RSpecMemoizedHelperBlockDelimiter: rspec_memoized_helper_block_delimiter
42
- RSpecRailsResponseParsedBody: rspec_rails_response_parsed_body
43
42
 
44
43
  RSpec/MultipleExpectations:
45
44
  Enabled: false
data/Gemfile.lock CHANGED
@@ -1,68 +1,71 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sevencop (0.33.0)
4
+ sevencop (0.34.0)
5
5
  activesupport
6
6
  rubocop
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (7.0.4)
11
+ activesupport (7.0.4.3)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 1.6, < 2)
14
14
  minitest (>= 5.1)
15
15
  tzinfo (~> 2.0)
16
16
  ast (2.4.2)
17
- concurrent-ruby (1.1.10)
17
+ concurrent-ruby (1.2.2)
18
18
  diff-lcs (1.5.0)
19
- i18n (1.12.0)
19
+ i18n (1.13.0)
20
20
  concurrent-ruby (~> 1.0)
21
- json (2.6.2)
22
- minitest (5.16.3)
21
+ json (2.6.3)
22
+ minitest (5.18.0)
23
23
  parallel (1.22.1)
24
- parser (3.1.2.1)
24
+ parser (3.2.0.0)
25
25
  ast (~> 2.4.1)
26
26
  rainbow (3.1.1)
27
27
  rake (13.0.6)
28
- regexp_parser (2.6.1)
28
+ regexp_parser (2.7.0)
29
29
  rexml (3.2.5)
30
30
  rspec (3.12.0)
31
31
  rspec-core (~> 3.12.0)
32
32
  rspec-expectations (~> 3.12.0)
33
33
  rspec-mocks (~> 3.12.0)
34
- rspec-core (3.12.0)
34
+ rspec-core (3.12.1)
35
35
  rspec-support (~> 3.12.0)
36
- rspec-expectations (3.12.0)
36
+ rspec-expectations (3.12.2)
37
37
  diff-lcs (>= 1.2.0, < 2.0)
38
38
  rspec-support (~> 3.12.0)
39
- rspec-mocks (3.12.0)
39
+ rspec-mocks (3.12.3)
40
40
  diff-lcs (>= 1.2.0, < 2.0)
41
41
  rspec-support (~> 3.12.0)
42
42
  rspec-support (3.12.0)
43
- rubocop (1.39.0)
43
+ rubocop (1.45.1)
44
44
  json (~> 2.3)
45
45
  parallel (~> 1.10)
46
- parser (>= 3.1.2.1)
46
+ parser (>= 3.2.0.0)
47
47
  rainbow (>= 2.2.2, < 4.0)
48
48
  regexp_parser (>= 1.8, < 3.0)
49
49
  rexml (>= 3.2.5, < 4.0)
50
- rubocop-ast (>= 1.23.0, < 2.0)
50
+ rubocop-ast (>= 1.24.1, < 2.0)
51
51
  ruby-progressbar (~> 1.7)
52
- unicode-display_width (>= 1.4.0, < 3.0)
53
- rubocop-ast (1.23.0)
52
+ unicode-display_width (>= 2.4.0, < 3.0)
53
+ rubocop-ast (1.24.1)
54
54
  parser (>= 3.1.1.0)
55
- rubocop-performance (1.15.1)
55
+ rubocop-capybara (2.17.0)
56
+ rubocop (~> 1.41)
57
+ rubocop-performance (1.16.0)
56
58
  rubocop (>= 1.7.0, < 2.0)
57
59
  rubocop-ast (>= 0.4.0)
58
60
  rubocop-rake (0.6.0)
59
61
  rubocop (~> 1.0)
60
- rubocop-rspec (2.15.0)
62
+ rubocop-rspec (2.18.1)
61
63
  rubocop (~> 1.33)
64
+ rubocop-capybara (~> 2.17)
62
65
  ruby-progressbar (1.11.0)
63
- tzinfo (2.0.5)
66
+ tzinfo (2.0.6)
64
67
  concurrent-ruby (~> 1.0)
65
- unicode-display_width (2.3.0)
68
+ unicode-display_width (2.4.2)
66
69
 
67
70
  PLATFORMS
68
71
  x86_64-linux
data/README.md CHANGED
@@ -49,7 +49,6 @@ Note that all cops are `Enabled: false` by default.
49
49
  - [Sevencop/RSpecEmptyLineAfterLet](lib/rubocop/cop/sevencop/rspec_empty_line_after_let.rb)
50
50
  - [Sevencop/RSpecExamplesInSameGroup](lib/rubocop/cop/sevencop/rspec_examples_in_same_group.rb)
51
51
  - [Sevencop/RSpecMemoizedHelperBlockDelimiter](lib/rubocop/cop/sevencop/rspec_memoized_helper_block_delimiter.rb)
52
- - [Sevencop/RSpecRailsResponseParsedBody](lib/rubocop/cop/sevencop/rspec_rails_response_parsed_body.rb)
53
52
 
54
53
  ## Notes
55
54
 
data/config/default.yml CHANGED
@@ -151,12 +151,3 @@ Sevencop/RSpecMemoizedHelperBlockDelimiter:
151
151
  Enabled: false
152
152
  Include:
153
153
  - spec/**/*
154
-
155
- Sevencop/RSpecRailsResponseParsedBody:
156
- Description: |
157
- Prefer `response.parsed_body` to `JSON.parse(response.body)`.
158
- Enabled: false
159
- Safe: false
160
- Include:
161
- - spec/controllers/**/*
162
- - spec/requests/**/*
@@ -7,7 +7,7 @@ require_relative 'config_loader'
7
7
  RuboCop::ConfigLoader.instance_variable_set(
8
8
  :@default_configuration,
9
9
  Sevencop::ConfigLoader.call(
10
- path: ::File.expand_path(
10
+ path: File.expand_path(
11
11
  '../../config/default.yml',
12
12
  __dir__
13
13
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sevencop
4
- VERSION = '0.33.0'
4
+ VERSION = '0.34.0'
5
5
  end
data/lib/sevencop.rb CHANGED
@@ -25,4 +25,3 @@ require_relative 'rubocop/cop/sevencop/rspec_describe_http_endpoint'
25
25
  require_relative 'rubocop/cop/sevencop/rspec_empty_line_after_let'
26
26
  require_relative 'rubocop/cop/sevencop/rspec_examples_in_same_group'
27
27
  require_relative 'rubocop/cop/sevencop/rspec_memoized_helper_block_delimiter'
28
- require_relative 'rubocop/cop/sevencop/rspec_rails_response_parsed_body'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sevencop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.0
4
+ version: 0.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-03 00:00:00.000000000 Z
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -77,7 +77,6 @@ files:
77
77
  - lib/rubocop/cop/sevencop/rspec_empty_line_after_let.rb
78
78
  - lib/rubocop/cop/sevencop/rspec_examples_in_same_group.rb
79
79
  - lib/rubocop/cop/sevencop/rspec_memoized_helper_block_delimiter.rb
80
- - lib/rubocop/cop/sevencop/rspec_rails_response_parsed_body.rb
81
80
  - lib/sevencop.rb
82
81
  - lib/sevencop/config_loader.rb
83
82
  - lib/sevencop/cop_concerns.rb
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- module Cop
5
- module Sevencop
6
- # Prefer `response.parsed_body` to `JSON.parse(response.body)`.
7
- #
8
- # @safety
9
- # This cop is unsafe because Content-Type may not be `application/json`.
10
- #
11
- # @example
12
- # # bad
13
- # JSON.parse(response.body)
14
- #
15
- # # good
16
- # response.parsed_body
17
- class RSpecRailsResponseParsedBody < Base
18
- extend AutoCorrector
19
-
20
- MSG = 'Prefer `response.parsed_body` to `JSON.parse(response.body)`.'
21
-
22
- RESTRICT_ON_SEND = %i[parse].freeze
23
-
24
- # @param node [RuboCop::AST::SendNode]
25
- # @return [void]
26
- def on_send(node)
27
- return unless bad?(node)
28
-
29
- add_offense(node) do |corrector|
30
- autocorrect(corrector, node)
31
- end
32
- end
33
-
34
- private
35
-
36
- # @!method json_parse_response_body?(node)
37
- # @param node [RuboCop::AST::Node]
38
- # @return [Boolean]
39
- def_node_matcher :json_parse_response_body?, <<~PATTERN
40
- (send
41
- (const
42
- {nil? cbase}
43
- :JSON
44
- )
45
- :parse
46
- (send
47
- (send
48
- nil?
49
- :response
50
- )
51
- :body
52
- )
53
- )
54
- PATTERN
55
- alias bad? json_parse_response_body?
56
-
57
- # @param corrector [RuboCop::Cop::Corrector]
58
- # @param node [RuboCop::AST::SendNode]
59
- # @return [void]
60
- def autocorrect(
61
- corrector,
62
- node
63
- )
64
- corrector.replace(node, 'response.parsed_body')
65
- end
66
- end
67
- end
68
- end
69
- end