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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7060c587b01d22b660cfabc0ead46e03524b0f51
4
- data.tar.gz: 59617e179cec66a67b2d051f0dde3170164b4026
3
+ metadata.gz: 65861f84673b5424553f927f79bfedf762fbc128
4
+ data.tar.gz: 8191bd88678e0980457aef64fb2a3748000e15cf
5
5
  SHA512:
6
- metadata.gz: acdd32c982d42943d8b0dc806668699b024f56deeafc3c9bb38a3c300d650234209a61721396466c82f989482420c29b6618f0a99733c274882eee7153067773
7
- data.tar.gz: 39473108b08740593758b370b41848b831d12aea8b44434a433f121ce0315dc035b19b2e6facf6fe52ca15cab15ab73fc3230c96b7e32e800ae0d9e5b038f30b
6
+ metadata.gz: d7be5cc421d8d5e9284c4d8304b41a4d483e237e5f1b8038a07649344ae059c6c11badfeede6231676f3be25c49bf80f491d636c91fc5fadfe2f3c5165637fee
7
+ data.tar.gz: ce105d871158dc7c62ba784d54239733b371f696b9ff766b6538f18deff561afd4238f062242254c9000d0f73fc4ed811b136ecdbb12ed2dda9639b8893490e9
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  .tags
2
2
  *.gem
3
+ Gemfile.lock
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3.3
4
+ - 2.4.0
5
+ script: bundle exec rspec spec
@@ -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, <<-END
8
+ def_node_matcher :add_column_default, <<-MATCHER
9
9
  (send _ :add_column ... (hash (pair (sym :default) _)))
10
- END
10
+ MATCHER
11
11
 
12
12
  def on_send(node)
13
- add_offense(node, :selector, MSG) if add_column_default(node)
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, <<-END
8
+ def_node_matcher :add_index, <<-MATCHER
9
9
  (send _ :add_index $...)
10
- END
10
+ MATCHER
11
11
 
12
12
  def on_send(node)
13
13
  add_index(node) do |args|
14
- add_offense(node, :selector, MSG) if offensive?(args)
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? || !args.last.each_descendant.any? do |n|
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
@@ -11,7 +11,8 @@ module RuboCop
11
11
 
12
12
  return unless filename_bad?(file_path)
13
13
 
14
- add_offense(nil, source_range(processed_source.buffer, 1, 0), nil)
14
+ location = source_range(processed_source.buffer, 1, 0)
15
+ add_offense(nil, location: location)
15
16
  end
16
17
 
17
18
  private
@@ -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 `Sequel::Model#save`.'.freeze
6
+ MSG = 'Use `Sequel::Model#save_changes` instead of '\
7
+ '`Sequel::Model#save`.'.freeze
7
8
 
8
- def_node_matcher :model_save, <<-END
9
+ def_node_matcher :model_save, <<-MATCHER
9
10
  (send _ :save)
10
- END
11
+ MATCHER
11
12
 
12
13
  def on_send(node)
13
- add_offense(node, :selector, MSG) if model_save(node)
14
+ return unless model_save(node)
15
+ add_offense(node, location: :selector, message: MSG)
14
16
  end
15
17
 
16
18
  def autocorrect(node)
@@ -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.1'
14
+ gem.version = '0.0.2'
17
15
 
18
- gem.add_runtime_dependency 'rubocop', '~> 0.46', '>= 0.46'
16
+ gem.add_runtime_dependency 'rubocop', '~> 0.51', '>= 0.51'
19
17
 
20
- gem.add_development_dependency 'sequel', '~> 4.41', '>= 4.41.0'
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(cop, 'add_column(:products, :type, :text, default: "cop")')
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(cop, 'add_column(:products, :type, :text)')
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(cop, 'add_index(:products, :name)')
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(cop, 'add_index(:products, :name, unique: true)')
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(cop, 'add_index(:products, :name, unique: true)')
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(cop, 'add_index(:products, :name, unique: true, concurrently: true)')
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(cop, '', 'new_migration.rb')
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(cop, '', 'add_index.rb')
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(cop, '', 'add_migration.rb')
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(cop, '', 'add_index.rb')
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(cop, 'favorite.save')
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(cop, 'favorite.save_changes')
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(cop, 'favorite.save')
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.1
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: 2016-12-19 00:00:00.000000000 Z
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.46'
19
+ version: '0.51'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: '0.46'
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.46'
29
+ version: '0.51'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '0.46'
32
+ version: '0.51'
33
33
  - !ruby/object:Gem::Dependency
34
- name: sequel
34
+ name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '4.41'
39
+ version: 12.0.0
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 4.41.0
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: '4.41'
49
+ version: 12.0.0
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 4.41.0
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.5.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.
@@ -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