betterlint 1.3.1 → 1.4.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: ce3c58a36213288dc8a00fada7143d6f6494e1625e4ea1863f4bc3a460a0e0f3
4
- data.tar.gz: 2a06ea46d279cbdcc5c78c8850db4023ac862f8d5b0dc8de7109428ef06a445c
3
+ metadata.gz: d33fd3ef06ee7f731fa4e879cc87429f7d7e833e0687a761439628ccb4424922
4
+ data.tar.gz: 690aa6d3a567b3718a5ae7bb6d354d3cd1162cd15ff9d069dba24cbaba9f4318
5
5
  SHA512:
6
- metadata.gz: 55323d12ee9b064b77f66067df837ffb68a3b9dd055b6a5bef7ecf16c86a0d6f798ea5ff36b2ec2b1348cad507a4494b4a91560850bac736f98b35488f4a9a87
7
- data.tar.gz: a92da3b7813d65df914fa9cca948338328b987dbab1fa1e559dd9b7a2932a2b7c81ff5e40628df1b2a952b1febfc0488cf76d275acbe8a6fab56990cb127a087
6
+ metadata.gz: 3a5a1cffd033ed6b46008c0e72b3a2d81d003d99138cb22b85fcbac76b60972ab55db3a8d61e50f7735c5f14c5958038e2748dfbd41d335e097a9f2eb63a24a2
7
+ data.tar.gz: 57b13761e63538931f32e4c55aceececca5a7c579b4318cb39881c7c090765361b00848bb884d9360c4bca5928be4221eb5d21982ebbe272c7209e422da63c1c
data/config/default.yml CHANGED
@@ -217,6 +217,9 @@ RSpec/ExampleWording:
217
217
  RSpec/ExpectChange:
218
218
  EnforcedStyle: 'block'
219
219
 
220
+ RSpec/FactoryBot/SyntaxMethods:
221
+ Enabled: false
222
+
220
223
  RSpec/FilePath:
221
224
  Enabled: false
222
225
 
@@ -91,7 +91,7 @@ module RuboCop
91
91
  end
92
92
 
93
93
  def with_comma(attribute)
94
- range = attribute.location.expression
94
+ range = attribute.source_range
95
95
  range = range_with_surrounding_space(range: range)
96
96
  range_with_surrounding_comma(range, :left)
97
97
  end
@@ -62,7 +62,7 @@ module RuboCop
62
62
  private
63
63
 
64
64
  def routes_file?
65
- Pathname.new(processed_source.buffer.name).basename.to_s == ROUTES_FILE_NAME
65
+ Pathname.new(processed_source.file_path).basename.to_s == ROUTES_FILE_NAME
66
66
  end
67
67
  end
68
68
  end
@@ -17,7 +17,7 @@ module RuboCop
17
17
  PATTERN
18
18
 
19
19
  def not_to_or_action?(sym)
20
- !%i(to action).include?(sym)
20
+ !%i(to action).include?(sym) # rubocop:disable Style/InverseMethods
21
21
  end
22
22
 
23
23
  # @!method route_to(node)
@@ -11,12 +11,12 @@ module RuboCop
11
11
  def on_send(node)
12
12
  return unless be_displayed_call?(node)
13
13
 
14
- add_offense(node, location: node.children[2].loc.expression)
14
+ add_offense(node, location: node.children[2].source_range)
15
15
  end
16
16
 
17
17
  def autocorrect(node)
18
18
  lambda do |corrector|
19
- corrector.replace(node.children[2].loc.expression, 'be_loaded')
19
+ corrector.replace(node.children[2].source_range, 'be_loaded')
20
20
  end
21
21
  end
22
22
  end
@@ -27,7 +27,7 @@ module RuboCop
27
27
  private
28
28
 
29
29
  def spec_directory?
30
- Pathname.new(processed_source.buffer.name)
30
+ Pathname.new(processed_source.file_path)
31
31
  .relative_path_from(Pathname.pwd)
32
32
  .to_s
33
33
  .start_with?("spec#{File::SEPARATOR}")
@@ -45,7 +45,7 @@ module RuboCop
45
45
  find?(node) ||
46
46
  custom_scope_find?(node) ||
47
47
  static_method_name(node.method_name)
48
- ) && !@unauthenticated_models.include?(Utils::Parser.get_root_token(node))
48
+ ) && !@unauthenticated_models.include?(Utils::Parser.get_root_token(node)) # rubocop:disable Style/InverseMethods
49
49
 
50
50
  add_offense(node) if find_param_arg(arg_nodes)
51
51
  end
@@ -41,7 +41,7 @@ module RuboCop
41
41
  private
42
42
 
43
43
  def create_range(node, match)
44
- range = node.loc.expression
44
+ range = node.source_range
45
45
  begin_pos = range.begin_pos + match.begin(0)
46
46
  end_pos = range.begin_pos + match.end(0)
47
47
  range.with(begin_pos: begin_pos, end_pos: end_pos)
@@ -0,0 +1,21 @@
1
+ module RuboCop
2
+ module Cop
3
+ module Betterment
4
+ class VagueSerialize < Base
5
+ MSG = 'Active Record models with serialized columns should specify which ' \
6
+ 'deserializer to use instead of falling back to the default.'.freeze
7
+
8
+ # @!method serialize?(node)
9
+ def_node_matcher :serialize?, <<-PATTERN
10
+ (send nil? :serialize ...)
11
+ PATTERN
12
+
13
+ def on_send(node)
14
+ return unless serialize? node
15
+
16
+ add_offense(node) if node.arguments.length < 2 || !node.arguments[1].const_type?
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -16,3 +16,4 @@ require 'rubocop/cop/betterment/active_job_performable'
16
16
  require 'rubocop/cop/betterment/allowlist_blocklist'
17
17
  require 'rubocop/cop/betterment/server_error_assertion'
18
18
  require 'rubocop/cop/betterment/hardcoded_id'
19
+ require 'rubocop/cop/betterment/vague_serialize'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: betterlint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Development
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-11 00:00:00.000000000 Z
11
+ date: 2023-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -108,6 +108,7 @@ files:
108
108
  - lib/rubocop/cop/betterment/utils/hardcoded_attribute.rb
109
109
  - lib/rubocop/cop/betterment/utils/method_return_table.rb
110
110
  - lib/rubocop/cop/betterment/utils/parser.rb
111
+ - lib/rubocop/cop/betterment/vague_serialize.rb
111
112
  homepage:
112
113
  licenses:
113
114
  - MIT
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
129
  - !ruby/object:Gem::Version
129
130
  version: '0'
130
131
  requirements: []
131
- rubygems_version: 3.3.7
132
+ rubygems_version: 3.2.32
132
133
  signing_key:
133
134
  specification_version: 4
134
135
  summary: Betterment rubocop configuration