sevencop 0.35.0 → 0.35.1

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: 2931983d77f0150cab0d7dc492a651fb89ddf689138898445b92b8d355d58d09
4
- data.tar.gz: f2b9309bb927cae02589660e9fa9d1d25713bd91b34937e721b80d505c0a819c
3
+ metadata.gz: 00bdcb34361d6d2adc9c56ad5c04a70763a03b9ed94c94836855ccf1bae0504a
4
+ data.tar.gz: 42425e905007e02da20af812e08d388a6ab897abc7ae6963084110e709524774
5
5
  SHA512:
6
- metadata.gz: 7fd6884d56779944c0caf4c2fee1f860494629b5f34eb344bac567de7a02e268ca8e8cf13064df2c42288698a8c2b8f296540c6e3a9d4b8fdab2def647c410d9
7
- data.tar.gz: 1dd9b63de192c1291ceafc4b72e12fae92274c4de86076d5756fda6046f3816811cd245c7a1f5fdce555b707c5fb63bb307a9d74e3e2f9fc37bcf2aafdd8271e
6
+ metadata.gz: 157017650f5d89046b8acfc2cdc7505c3fe24d9f88ebcdde530ca362c11291b2ece58c02fb983843e2c42ded4262ae2e638bed2f3feb9ffa26149405185e623a
7
+ data.tar.gz: b42d35a4f16268871b51f794b4d1fcf68cef53576889a8ebbb913fb3ffefb3e0b9ee8d27bbf1eb44d981f9a491f6d14cfae70f026495312a459bdd131f011d5f
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sevencop (0.35.0)
4
+ sevencop (0.35.1)
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.3)
11
+ activesupport (7.0.5)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 1.6, < 2)
14
14
  minitest (>= 5.1)
@@ -16,7 +16,7 @@ GEM
16
16
  ast (2.4.2)
17
17
  concurrent-ruby (1.2.2)
18
18
  diff-lcs (1.5.0)
19
- i18n (1.13.0)
19
+ i18n (1.14.1)
20
20
  concurrent-ruby (~> 1.0)
21
21
  json (2.6.3)
22
22
  minitest (5.18.0)
@@ -73,18 +73,6 @@ module RuboCop
73
73
  end_pos: node2.source_range.end_pos
74
74
  ).source.include?("\n\n")
75
75
  end
76
-
77
- # @param range1 [Paresr::Source::Range]
78
- # @param range2 [Paresr::Source::Range]
79
- # @param corrector [RuboCop::AST::Corrector]
80
- def swap(
81
- range1,
82
- range2,
83
- corrector:
84
- )
85
- corrector.insert_before(range1, range2.source)
86
- corrector.remove(range2)
87
- end
88
76
  end
89
77
  end
90
78
  end
@@ -33,6 +33,28 @@ module RuboCop
33
33
 
34
34
  RESTRICT_ON_SEND = %i[validates].freeze
35
35
 
36
+ # @param [RuboCop::AST::SendNode] node
37
+ def on_send(node)
38
+ return unless validates_uniqueness?(node) && !validates_uniqueness_with_case_sensitivity?(node)
39
+
40
+ uniqueness_value = find_uniqueness_value(node)
41
+ add_offense(uniqueness_value) do |corrector|
42
+ if uniqueness_value.true_type?
43
+ corrector.replace(
44
+ uniqueness_value,
45
+ '{ case_sensitive: true }'
46
+ )
47
+ else
48
+ corrector.insert_after(
49
+ uniqueness_value.pairs.last,
50
+ ', case_sensitive: true'
51
+ )
52
+ end
53
+ end
54
+ end
55
+
56
+ private
57
+
36
58
  # @!method validates_uniqueness?(node)
37
59
  def_node_matcher :validates_uniqueness?, <<~PATTERN
38
60
  (send nil? :validates
@@ -43,8 +65,8 @@ module RuboCop
43
65
  (sym :uniqueness)
44
66
  {true | (hash ...)}
45
67
  )
68
+ ...
46
69
  >
47
- ...
48
70
  )
49
71
  )
50
72
  PATTERN
@@ -69,26 +91,6 @@ module RuboCop
69
91
  def find_uniqueness_value(node)
70
92
  node.arguments[1].pairs.find { |pair| pair.key.value == :uniqueness }.value
71
93
  end
72
-
73
- # @param [RuboCop::AST::SendNode] node
74
- def on_send(node)
75
- return unless validates_uniqueness?(node) && !validates_uniqueness_with_case_sensitivity?(node)
76
-
77
- uniqueness_value = find_uniqueness_value(node)
78
- add_offense(uniqueness_value) do |corrector|
79
- if uniqueness_value.true_type?
80
- corrector.replace(
81
- uniqueness_value,
82
- '{ case_sensitive: true }'
83
- )
84
- else
85
- corrector.insert_after(
86
- uniqueness_value.pairs.last,
87
- ', case_sensitive: true'
88
- )
89
- end
90
- end
91
- end
92
94
  end
93
95
  end
94
96
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sevencop
4
- VERSION = '0.35.0'
4
+ VERSION = '0.35.1'
5
5
  end
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.35.0
4
+ version: 0.35.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-08 00:00:00.000000000 Z
11
+ date: 2023-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport