database_validations 1.1.1 → 1.2.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 054be9ff2f059019142360b2f6b9742c7e7b2bce24d880730813d373342c61d2
|
|
4
|
+
data.tar.gz: '09f34cda5f9a36847a0b03c53a3ded49ed371e6a23332e0ae2e840a901662dbe'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96e7d25b16868daac09d309ff2c25c55d4f1b69c1cfe4e2b02c5943cd1bc21a7ea2286e5d032df2517efd57f69d5add1892c918140e318f54264e8fa15cee198
|
|
7
|
+
data.tar.gz: cf29eeedc3389ea5678f9864c22e7c0dc74fb98154c7dc00a14c82a5d15c4fc600031488b092ff4285971d4e6a14d0b7177968d67d2afa7dfc20a8c2530f32c2
|
|
@@ -10,8 +10,9 @@ module RuboCop
|
|
|
10
10
|
# # good
|
|
11
11
|
# db_belongs_to :company
|
|
12
12
|
#
|
|
13
|
-
class BelongsTo <
|
|
13
|
+
class BelongsTo < Base
|
|
14
14
|
MSG = 'Use `db_belongs_to`.'.freeze
|
|
15
|
+
RESTRICT_ON_SEND = %i[belongs_to].freeze
|
|
15
16
|
|
|
16
17
|
NON_SUPPORTED_OPTIONS = %i[
|
|
17
18
|
optional
|
|
@@ -20,14 +21,12 @@ module RuboCop
|
|
|
20
21
|
foreign_type
|
|
21
22
|
].freeze
|
|
22
23
|
|
|
23
|
-
def_node_matcher :belongs_to?, '(send nil? :belongs_to ...)'
|
|
24
24
|
def_node_matcher :option_name, '(pair (sym $_) ...)'
|
|
25
25
|
|
|
26
26
|
def on_send(node)
|
|
27
|
-
return unless belongs_to?(node)
|
|
28
27
|
return unless supported?(node)
|
|
29
28
|
|
|
30
|
-
add_offense(node
|
|
29
|
+
add_offense(node.loc.selector)
|
|
31
30
|
end
|
|
32
31
|
|
|
33
32
|
private
|
|
@@ -14,17 +14,18 @@ module RuboCop
|
|
|
14
14
|
# validates_db_uniqueness_of :address, scope: :user_id
|
|
15
15
|
# validates_db_uniqueness_of :title
|
|
16
16
|
#
|
|
17
|
-
class UniquenessOf <
|
|
17
|
+
class UniquenessOf < Base
|
|
18
18
|
MSG = 'Use `validates_db_uniqueness_of`.'.freeze
|
|
19
|
+
RESTRICT_ON_SEND = %i[validates validates_uniqueness_of].freeze
|
|
19
20
|
|
|
20
21
|
def_node_matcher :uniquness_validation?, '(pair (sym :uniqueness) _)'
|
|
21
22
|
|
|
22
23
|
def on_send(node)
|
|
23
24
|
if node.method_name == :validates_uniqueness_of
|
|
24
|
-
add_offense(node
|
|
25
|
+
add_offense(node.loc.selector)
|
|
25
26
|
elsif node.method_name == :validates
|
|
26
27
|
uniqueness(node) do |option|
|
|
27
|
-
add_offense(option)
|
|
28
|
+
add_offense(option.loc.expression)
|
|
28
29
|
end
|
|
29
30
|
end
|
|
30
31
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: database_validations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Evgeniy Demin
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activerecord
|
|
@@ -42,14 +41,14 @@ dependencies:
|
|
|
42
41
|
name: bundler
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
|
-
- - "
|
|
44
|
+
- - ">="
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
46
|
version: '2.0'
|
|
48
47
|
type: :development
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
|
-
- - "
|
|
51
|
+
- - ">="
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
53
|
version: '2.0'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
@@ -128,42 +127,42 @@ dependencies:
|
|
|
128
127
|
requirements:
|
|
129
128
|
- - "~>"
|
|
130
129
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '
|
|
130
|
+
version: '1.80'
|
|
132
131
|
type: :development
|
|
133
132
|
prerelease: false
|
|
134
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
134
|
requirements:
|
|
136
135
|
- - "~>"
|
|
137
136
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '
|
|
137
|
+
version: '1.80'
|
|
139
138
|
- !ruby/object:Gem::Dependency
|
|
140
139
|
name: rubocop-rspec
|
|
141
140
|
requirement: !ruby/object:Gem::Requirement
|
|
142
141
|
requirements:
|
|
143
142
|
- - "~>"
|
|
144
143
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '
|
|
144
|
+
version: '3.8'
|
|
146
145
|
type: :development
|
|
147
146
|
prerelease: false
|
|
148
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
148
|
requirements:
|
|
150
149
|
- - "~>"
|
|
151
150
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '
|
|
151
|
+
version: '3.8'
|
|
153
152
|
- !ruby/object:Gem::Dependency
|
|
154
153
|
name: sqlite3
|
|
155
154
|
requirement: !ruby/object:Gem::Requirement
|
|
156
155
|
requirements:
|
|
157
|
-
- - "
|
|
156
|
+
- - ">="
|
|
158
157
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '
|
|
158
|
+
version: '0'
|
|
160
159
|
type: :development
|
|
161
160
|
prerelease: false
|
|
162
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
162
|
requirements:
|
|
164
|
-
- - "
|
|
163
|
+
- - ">="
|
|
165
164
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
165
|
+
version: '0'
|
|
167
166
|
description: |-
|
|
168
167
|
ActiveRecord provides validations on app level but it won't guarantee the
|
|
169
168
|
consistent. In some cases, like `validates_uniqueness_of` it executes
|
|
@@ -208,7 +207,6 @@ homepage: https://github.com/toptal/database_validations
|
|
|
208
207
|
licenses:
|
|
209
208
|
- MIT
|
|
210
209
|
metadata: {}
|
|
211
|
-
post_install_message:
|
|
212
210
|
rdoc_options: []
|
|
213
211
|
require_paths:
|
|
214
212
|
- lib
|
|
@@ -223,8 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
223
221
|
- !ruby/object:Gem::Version
|
|
224
222
|
version: '0'
|
|
225
223
|
requirements: []
|
|
226
|
-
rubygems_version: 3.
|
|
227
|
-
signing_key:
|
|
224
|
+
rubygems_version: 3.6.9
|
|
228
225
|
specification_version: 4
|
|
229
226
|
summary: Provide compatibility between database constraints and ActiveRecord validations
|
|
230
227
|
with better performance and consistency.
|