rubocop-sequel 0.0.1 → 0.0.2
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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/lib/rubocop/cop/sequel/column_default.rb +4 -3
- data/lib/rubocop/cop/sequel/concurrent_index.rb +6 -4
- data/lib/rubocop/cop/sequel/migration_name.rb +2 -1
- data/lib/rubocop/cop/sequel/save_changes.rb +6 -4
- data/rubocop-sequel.gemspec +4 -5
- data/spec/rubocop/cop/sequel/column_default_spec.rb +2 -2
- data/spec/rubocop/cop/sequel/concurrent_index_spec.rb +6 -4
- data/spec/rubocop/cop/sequel/migration_name_spec.rb +4 -4
- data/spec/rubocop/cop/sequel/save_changes_spec.rb +3 -3
- metadata +33 -13
- data/Gemfile.lock +0 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65861f84673b5424553f927f79bfedf762fbc128
|
4
|
+
data.tar.gz: 8191bd88678e0980457aef64fb2a3748000e15cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7be5cc421d8d5e9284c4d8304b41a4d483e237e5f1b8038a07649344ae059c6c11badfeede6231676f3be25c49bf80f491d636c91fc5fadfe2f3c5165637fee
|
7
|
+
data.tar.gz: ce105d871158dc7c62ba784d54239733b371f696b9ff766b6538f18deff561afd4238f062242254c9000d0f73fc4ed811b136ecdbb12ed2dda9639b8893490e9
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -5,12 +5,13 @@ module RuboCop
|
|
5
5
|
class ColumnDefault < Cop
|
6
6
|
MSG = "Don't create new column with default values".freeze
|
7
7
|
|
8
|
-
def_node_matcher :add_column_default, <<-
|
8
|
+
def_node_matcher :add_column_default, <<-MATCHER
|
9
9
|
(send _ :add_column ... (hash (pair (sym :default) _)))
|
10
|
-
|
10
|
+
MATCHER
|
11
11
|
|
12
12
|
def on_send(node)
|
13
|
-
|
13
|
+
return unless add_column_default(node)
|
14
|
+
add_offense(node, location: :selector, message: MSG)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
@@ -5,20 +5,22 @@ module RuboCop
|
|
5
5
|
class ConcurrentIndex < Cop
|
6
6
|
MSG = 'Prefer creating new index concurrently'.freeze
|
7
7
|
|
8
|
-
def_node_matcher :add_index, <<-
|
8
|
+
def_node_matcher :add_index, <<-MATCHER
|
9
9
|
(send _ :add_index $...)
|
10
|
-
|
10
|
+
MATCHER
|
11
11
|
|
12
12
|
def on_send(node)
|
13
13
|
add_index(node) do |args|
|
14
|
-
|
14
|
+
if offensive?(args)
|
15
|
+
add_offense(node, location: :selector, message: MSG)
|
16
|
+
end
|
15
17
|
end
|
16
18
|
end
|
17
19
|
|
18
20
|
private
|
19
21
|
|
20
22
|
def offensive?(args)
|
21
|
-
!args.last.hash_type? ||
|
23
|
+
!args.last.hash_type? || args.last.each_descendant.none? do |n|
|
22
24
|
next unless n.sym_type?
|
23
25
|
n.children.any? { |s| s == :concurrently }
|
24
26
|
end
|
@@ -3,14 +3,16 @@ module RuboCop
|
|
3
3
|
module Sequel
|
4
4
|
# SaveChanges promotes the use of save_changes.
|
5
5
|
class SaveChanges < Cop
|
6
|
-
MSG = 'Use `Sequel::Model#save_changes` instead of
|
6
|
+
MSG = 'Use `Sequel::Model#save_changes` instead of '\
|
7
|
+
'`Sequel::Model#save`.'.freeze
|
7
8
|
|
8
|
-
def_node_matcher :model_save, <<-
|
9
|
+
def_node_matcher :model_save, <<-MATCHER
|
9
10
|
(send _ :save)
|
10
|
-
|
11
|
+
MATCHER
|
11
12
|
|
12
13
|
def on_send(node)
|
13
|
-
|
14
|
+
return unless model_save(node)
|
15
|
+
add_offense(node, location: :selector, message: MSG)
|
14
16
|
end
|
15
17
|
|
16
18
|
def autocorrect(node)
|
data/rubocop-sequel.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
1
|
Gem::Specification.new do |gem|
|
4
2
|
gem.authors = ['Timothée Peignier']
|
5
3
|
gem.email = ['timothee.peignier@tryphon.org']
|
@@ -13,12 +11,13 @@ Gem::Specification.new do |gem|
|
|
13
11
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
12
|
gem.name = 'rubocop-sequel'
|
15
13
|
gem.require_paths = ['lib']
|
16
|
-
gem.version = '0.0.
|
14
|
+
gem.version = '0.0.2'
|
17
15
|
|
18
|
-
gem.add_runtime_dependency 'rubocop', '~> 0.
|
16
|
+
gem.add_runtime_dependency 'rubocop', '~> 0.51', '>= 0.51'
|
19
17
|
|
20
|
-
gem.add_development_dependency '
|
18
|
+
gem.add_development_dependency 'rake', '~> 12.0.0', '>= 12.0.0'
|
21
19
|
gem.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
|
20
|
+
gem.add_development_dependency 'sequel', '~> 4.41', '>= 4.41.0'
|
22
21
|
gem.add_development_dependency 'simplecov', '~> 0.12'
|
23
22
|
gem.add_development_dependency 'sqlite3', '~> 1.3', '>= 1.3.12'
|
24
23
|
end
|
@@ -4,12 +4,12 @@ describe RuboCop::Cop::Sequel::ColumnDefault do
|
|
4
4
|
subject(:cop) { described_class.new }
|
5
5
|
|
6
6
|
it 'registers an offense when setting a default' do
|
7
|
-
inspect_source(
|
7
|
+
inspect_source('add_column(:products, :type, :text, default: "cop")')
|
8
8
|
expect(cop.offenses.size).to eq(1)
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'does not register an offense when not setting a default' do
|
12
|
-
inspect_source(
|
12
|
+
inspect_source('add_column(:products, :type, :text)')
|
13
13
|
expect(cop.offenses).to be_empty
|
14
14
|
end
|
15
15
|
end
|
@@ -5,23 +5,25 @@ describe RuboCop::Cop::Sequel::ConcurrentIndex do
|
|
5
5
|
|
6
6
|
context 'without the concurrent option' do
|
7
7
|
it 'registers an offense without options' do
|
8
|
-
inspect_source(
|
8
|
+
inspect_source('add_index(:products, :name)')
|
9
9
|
expect(cop.offenses.size).to eq(1)
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'registers an offense with other options' do
|
13
|
-
inspect_source(
|
13
|
+
inspect_source('add_index(:products, :name, unique: true)')
|
14
14
|
expect(cop.offenses.size).to eq(1)
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'registers an offense with composite index' do
|
18
|
-
inspect_source(
|
18
|
+
inspect_source('add_index(:products, :name, unique: true)')
|
19
19
|
expect(cop.offenses.size).to eq(1)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'does not register an offense when using concurrent option' do
|
24
|
-
inspect_source(
|
24
|
+
inspect_source(
|
25
|
+
'add_index(:products, :name, unique: true, concurrently: true)'
|
26
|
+
)
|
25
27
|
expect(cop.offenses).to be_empty
|
26
28
|
end
|
27
29
|
end
|
@@ -15,12 +15,12 @@ describe RuboCop::Cop::Sequel::MigrationName, :config do
|
|
15
15
|
let(:cop_config) { {} }
|
16
16
|
|
17
17
|
it 'registers an offense when using the default name' do
|
18
|
-
inspect_source(
|
18
|
+
inspect_source('', 'new_migration.rb')
|
19
19
|
expect(cop.offenses.size).to eq(1)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'does not register an offense when using a specific name' do
|
23
|
-
inspect_source(
|
23
|
+
inspect_source('', 'add_index.rb')
|
24
24
|
expect(cop.offenses).to be_empty
|
25
25
|
end
|
26
26
|
end
|
@@ -29,12 +29,12 @@ describe RuboCop::Cop::Sequel::MigrationName, :config do
|
|
29
29
|
let(:cop_config) { { 'DefaultName' => 'add_migration' } }
|
30
30
|
|
31
31
|
it 'registers an offense when using the default name' do
|
32
|
-
inspect_source(
|
32
|
+
inspect_source('', 'add_migration.rb')
|
33
33
|
expect(cop.offenses.size).to eq(1)
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'does not register an offense when using a specific name' do
|
37
|
-
inspect_source(
|
37
|
+
inspect_source('', 'add_index.rb')
|
38
38
|
expect(cop.offenses).to be_empty
|
39
39
|
end
|
40
40
|
end
|
@@ -4,17 +4,17 @@ describe RuboCop::Cop::Sequel::SaveChanges do
|
|
4
4
|
subject(:cop) { described_class.new }
|
5
5
|
|
6
6
|
it 'registers an offense when using save' do
|
7
|
-
inspect_source(
|
7
|
+
inspect_source('favorite.save')
|
8
8
|
expect(cop.offenses.size).to eq(1)
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'does not register an offense when using save_changes' do
|
12
|
-
inspect_source(
|
12
|
+
inspect_source('favorite.save_changes')
|
13
13
|
expect(cop.offenses).to be_empty
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'auto-corrects by using save_changes' do
|
17
|
-
new_source = autocorrect_source(
|
17
|
+
new_source = autocorrect_source('favorite.save')
|
18
18
|
expect(new_source).to eq('favorite.save_changes')
|
19
19
|
end
|
20
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Timothée Peignier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -16,40 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.51'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0.
|
22
|
+
version: '0.51'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
29
|
+
version: '0.51'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0.
|
32
|
+
version: '0.51'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 12.0.0
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 12.0.0
|
43
43
|
type: :development
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 12.0.0
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: 12.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: rspec
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,6 +70,26 @@ dependencies:
|
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 3.5.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: sequel
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '4.41'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 4.41.0
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.41'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 4.41.0
|
73
93
|
- !ruby/object:Gem::Dependency
|
74
94
|
name: simplecov
|
75
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,8 +134,8 @@ files:
|
|
114
134
|
- ".gitignore"
|
115
135
|
- ".rspec"
|
116
136
|
- ".rubocop_todo.yml"
|
137
|
+
- ".travis.yml"
|
117
138
|
- Gemfile
|
118
|
-
- Gemfile.lock
|
119
139
|
- LICENSE
|
120
140
|
- README.md
|
121
141
|
- lib/rubocop-sequel.rb
|
@@ -151,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
171
|
version: '0'
|
152
172
|
requirements: []
|
153
173
|
rubyforge_project:
|
154
|
-
rubygems_version: 2.
|
174
|
+
rubygems_version: 2.6.13
|
155
175
|
signing_key:
|
156
176
|
specification_version: 4
|
157
177
|
summary: A plugin for the RuboCop code style & linting tool.
|
data/Gemfile.lock
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
rubocop-sequel (0.0.1)
|
5
|
-
rubocop (~> 0.46, >= 0.46)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
ast (2.3.0)
|
11
|
-
diff-lcs (1.2.5)
|
12
|
-
docile (1.1.5)
|
13
|
-
json (2.0.2)
|
14
|
-
parser (2.3.3.1)
|
15
|
-
ast (~> 2.2)
|
16
|
-
powerpack (0.1.1)
|
17
|
-
rainbow (2.1.0)
|
18
|
-
rspec (3.5.0)
|
19
|
-
rspec-core (~> 3.5.0)
|
20
|
-
rspec-expectations (~> 3.5.0)
|
21
|
-
rspec-mocks (~> 3.5.0)
|
22
|
-
rspec-core (3.5.4)
|
23
|
-
rspec-support (~> 3.5.0)
|
24
|
-
rspec-expectations (3.5.0)
|
25
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
26
|
-
rspec-support (~> 3.5.0)
|
27
|
-
rspec-mocks (3.5.0)
|
28
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
29
|
-
rspec-support (~> 3.5.0)
|
30
|
-
rspec-support (3.5.0)
|
31
|
-
rubocop (0.46.0)
|
32
|
-
parser (>= 2.3.1.1, < 3.0)
|
33
|
-
powerpack (~> 0.1)
|
34
|
-
rainbow (>= 1.99.1, < 3.0)
|
35
|
-
ruby-progressbar (~> 1.7)
|
36
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
37
|
-
ruby-progressbar (1.8.1)
|
38
|
-
sequel (4.41.0)
|
39
|
-
simplecov (0.12.0)
|
40
|
-
docile (~> 1.1.0)
|
41
|
-
json (>= 1.8, < 3)
|
42
|
-
simplecov-html (~> 0.10.0)
|
43
|
-
simplecov-html (0.10.0)
|
44
|
-
sqlite3 (1.3.12)
|
45
|
-
unicode-display_width (1.1.2)
|
46
|
-
|
47
|
-
PLATFORMS
|
48
|
-
ruby
|
49
|
-
|
50
|
-
DEPENDENCIES
|
51
|
-
rspec (~> 3.5, >= 3.5.0)
|
52
|
-
rubocop-sequel!
|
53
|
-
sequel (~> 4.41, >= 4.41.0)
|
54
|
-
simplecov (~> 0.12)
|
55
|
-
sqlite3 (~> 1.3, >= 1.3.12)
|
56
|
-
|
57
|
-
BUNDLED WITH
|
58
|
-
1.13.6
|