betterlint 1.4.0 → 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: 412124b5950ac692bc3b555414eb9b46ff7632b0535baf7efd5cb16095c79e2f
4
- data.tar.gz: e75bb5528c7e82a76144e763796f2373f431ce027659a4321195526c11a0bd94
3
+ metadata.gz: d33fd3ef06ee7f731fa4e879cc87429f7d7e833e0687a761439628ccb4424922
4
+ data.tar.gz: 690aa6d3a567b3718a5ae7bb6d354d3cd1162cd15ff9d069dba24cbaba9f4318
5
5
  SHA512:
6
- metadata.gz: 2e441d742d6c67abead8a74d052f579c0290d57aa5c77ae46b117273cb1bcae8c5fe06a02cad97c0582a67e2afe0b83a1a775b35e6d8564a486419a75a3afc10
7
- data.tar.gz: a756fb81d8747b7358f6f650c61b23092518e49d6166aefe5f7123810805a2df7d83878776b2f9a17db29a9ffee838c37ecca1783ce6563b01cdd0354e57db8d
6
+ metadata.gz: 3a5a1cffd033ed6b46008c0e72b3a2d81d003d99138cb22b85fcbac76b60972ab55db3a8d61e50f7735c5f14c5958038e2748dfbd41d335e097a9f2eb63a24a2
7
+ data.tar.gz: 57b13761e63538931f32e4c55aceececca5a7c579b4318cb39881c7c090765361b00848bb884d9360c4bca5928be4221eb5d21982ebbe272c7209e422da63c1c
@@ -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
@@ -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
@@ -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.4.0
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-28 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