sevencop 0.35.0 → 0.35.1

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: 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