File tree Expand file tree Collapse file tree 2 files changed +5
-17
lines changed Expand file tree Collapse file tree 2 files changed +5
-17
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,8 @@ module Rails
18
18
class UnprocessableContentStatus < Base
19
19
extend AutoCorrector
20
20
21
+ requires_gem 'rack' , '>= 3.1.0'
22
+
21
23
MSG = 'Use `:unprocessable_content` instead of `:unprocessable_entity`. ' \
22
24
'The `:unprocessable_entity` status is deprecated.'
23
25
@@ -30,8 +32,6 @@ class UnprocessableContentStatus < Base
30
32
PATTERN
31
33
32
34
def on_sym ( node )
33
- return unless rack_3_1_or_newer?
34
-
35
35
return unless unprocessable_entity_symbol? ( node )
36
36
return if in_hash_key_context? ( node )
37
37
@@ -43,8 +43,6 @@ def on_sym(node)
43
43
end
44
44
45
45
def on_pair ( node )
46
- return unless rack_3_1_or_newer?
47
-
48
46
status_argument? ( node ) do
49
47
add_offense ( node . value ) do |corrector |
50
48
corrector . replace ( node . value , ':unprocessable_content' )
@@ -54,12 +52,6 @@ def on_pair(node)
54
52
55
53
private
56
54
57
- def rack_3_1_or_newer?
58
- Gem ::Version . new ( Rack ::VERSION ) >= Gem ::Version . new ( '3.1.0' )
59
- rescue ArgumentError , NoMethodError
60
- false
61
- end
62
-
63
55
def in_hash_key_context? ( node )
64
56
node . parent &.pair_type? && node . parent . key == node
65
57
end
Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
3
RSpec . describe RuboCop ::Cop ::Rails ::UnprocessableContentStatus , :config do
4
- context 'when Rack is older than 3.1 or not available' do
5
- before do
6
- allow ( cop ) . to receive ( :rack_3_1_or_newer? ) . and_return ( false )
7
- end
4
+ context 'when Rack is older than 3.1' do
5
+ let ( :gem_versions ) { { 'rack' => '3.0.0' } }
8
6
9
7
it 'does nothing' do
10
8
expect_no_offenses ( <<~RUBY )
14
12
end
15
13
16
14
context 'when Rack is 3.1 or later' do
17
- before do
18
- allow ( cop ) . to receive ( :rack_3_1_or_newer? ) . and_return ( true )
19
- end
15
+ let ( :gem_versions ) { { 'rack' => '3.1.0' } }
20
16
21
17
it 'registers an offense when using :unprocessable_entity in hash argument' do
22
18
expect_offense ( <<~RUBY )
You can’t perform that action at this time.
0 commit comments