rubocop-obsession 0.1.4 → 0.1.5
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/config/default.yml +2 -2
- data/lib/rubocop/cop/obsession/graphql/mutation_name.rb +1 -1
- data/lib/rubocop/cop/obsession/no_break_or_next.rb +1 -1
- data/lib/rubocop/cop/obsession/no_paragraphs.rb +2 -2
- data/lib/rubocop/cop/obsession/no_todos.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/callback_one_method.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/fully_defined_json_field.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/migration_belongs_to.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/no_callback_conditions.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/private_callback.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/safety_assured_comment.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/short_after_commit.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/short_validate.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/validate_one_field.rb +1 -1
- data/lib/rubocop/cop/obsession/rails/validation_method_name.rb +1 -1
- data/lib/rubocop/cop/obsession/rspec/describe_public_method.rb +1 -1
- data/lib/rubocop/cop/obsession/too_many_paragraphs.rb +4 -4
- data/lib/rubocop/obsession/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bfae7e0b1e495fad34ada943845fd9399fe6763dd0b6eca0a946f87754ba4a2
|
4
|
+
data.tar.gz: 1651b96c4cd6ace35e62dfc968ec4dd8b690118c1b7e8aa5432abd59e5e0b8ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0dd211e0748686195f25c2505aeef9baecae83e1648a4c7ddddf011a31e1de94e5e6cb239a6d8e67e3bf55b39c766af8e5d19f55aec70213993f7d7ae0dbea8
|
7
|
+
data.tar.gz: 2e427f1f22dca52e0c417b53c8e5b390aaaf801335d379e888a8131dd7b3e005abe0a32628e1efd9dbe9af4ab3ef749edb38ebb4143c634b74c5ffeff0385bd8
|
data/config/default.yml
CHANGED
@@ -3,7 +3,7 @@ Obsession/MethodOrder:
|
|
3
3
|
Obsession/NoBreakOrNext:
|
4
4
|
Enabled: false
|
5
5
|
Exclude:
|
6
|
-
- 'script
|
6
|
+
- 'script/**/*'
|
7
7
|
Obsession/NoParagraphs:
|
8
8
|
Enabled: false
|
9
9
|
Exclude:
|
@@ -15,7 +15,7 @@ Obsession/TooManyParagraphs:
|
|
15
15
|
Enabled: false
|
16
16
|
Exclude:
|
17
17
|
- 'db/migrate/*'
|
18
|
-
- 'script
|
18
|
+
- 'script/**/*'
|
19
19
|
- 'spec/**/*'
|
20
20
|
|
21
21
|
Obsession/Graphql/MutationName:
|
@@ -59,7 +59,7 @@ module RuboCop
|
|
59
59
|
# end
|
60
60
|
# end
|
61
61
|
# end
|
62
|
-
class NoBreakOrNext <
|
62
|
+
class NoBreakOrNext < Base
|
63
63
|
BIG_LOOP_MSG =
|
64
64
|
'Avoid `break`/`next` in big loop, decompose into private method or rethink loop.'
|
65
65
|
NO_NEXT_MSG = 'Avoid `next` in loop, use conditions or rethink loop.'
|
@@ -8,7 +8,7 @@ module RuboCop
|
|
8
8
|
# If your method code has many instructions that are not organized into
|
9
9
|
# paragraphs, you should break it up into multiple paragraphs to make the
|
10
10
|
# code more breathable and readable. The 3 possible paragraphs themes
|
11
|
-
#
|
11
|
+
# could be: initialization, action, and result.
|
12
12
|
#
|
13
13
|
# @example
|
14
14
|
#
|
@@ -33,7 +33,7 @@ module RuboCop
|
|
33
33
|
#
|
34
34
|
# Rails.logger.info('Content has been set')
|
35
35
|
# end
|
36
|
-
class NoParagraphs <
|
36
|
+
class NoParagraphs < Base
|
37
37
|
MSG = 'Method has many instructions and should be broken up into paragraphs.'
|
38
38
|
MAX_CONSECUTIVE_INSTRUCTIONS_ALLOWED = 5
|
39
39
|
|
@@ -11,7 +11,7 @@ module RuboCop
|
|
11
11
|
# stale TODOs. Sometimes developers really mean to work on their TODOs
|
12
12
|
# soon, but then Product re-prioritizes their work, or the developer
|
13
13
|
# leaves the company, and never gets a chance to tackle them.
|
14
|
-
class NoTodos <
|
14
|
+
class NoTodos < Base
|
15
15
|
MSG = 'Avoid TODO comment, create a task in your project management tool instead.'
|
16
16
|
KEYWORD_REGEX = /(^|[^\w])(TODO|FIXME|OPTIMIZE|HACK)($|[^\w])/i
|
17
17
|
|
@@ -26,7 +26,7 @@ module RuboCop
|
|
26
26
|
# :jsonb,
|
27
27
|
# default: [],
|
28
28
|
# comment: "Example: [{ 'name': 'ruby' }, { 'name': 'python' }]"
|
29
|
-
class FullyDefinedJsonField <
|
29
|
+
class FullyDefinedJsonField < Base
|
30
30
|
def_node_matcher :json_field?, <<~PATTERN
|
31
31
|
(send nil? :add_column _ _ (sym {:json :jsonb}) ...)
|
32
32
|
PATTERN
|
@@ -13,7 +13,7 @@ module RuboCop
|
|
13
13
|
# of the DB migration. The reason should be detailed and reviewed by a
|
14
14
|
# knowledgeable PR reviewer. Failure to follow instructions may bring your
|
15
15
|
# app down.
|
16
|
-
class SafetyAssuredComment <
|
16
|
+
class SafetyAssuredComment < Base
|
17
17
|
MSG =
|
18
18
|
'Add `# Safe because <reason>` comment above safety_assured. ' \
|
19
19
|
'An invalid reason may bring the site down.'
|
@@ -16,7 +16,7 @@ module RuboCop
|
|
16
16
|
# # good
|
17
17
|
# validates :name, presence: true
|
18
18
|
# validates :status, presence: true
|
19
|
-
class ValidateOneField <
|
19
|
+
class ValidateOneField < Base
|
20
20
|
MSG = 'Validate only one field per line.'
|
21
21
|
|
22
22
|
def_node_matcher :validates_with_more_than_one_field?, <<~PATTERN
|
@@ -13,7 +13,7 @@ module RuboCop
|
|
13
13
|
#
|
14
14
|
# # good
|
15
15
|
# validate :validate_at_least_one_admin
|
16
|
-
class ValidationMethodName <
|
16
|
+
class ValidationMethodName < Base
|
17
17
|
MSG = 'Prefix custom validation method with validate_'
|
18
18
|
|
19
19
|
def_node_matcher :on_validate_callback, <<~PATTERN
|
@@ -6,13 +6,13 @@ module RuboCop
|
|
6
6
|
# This cop checks for methods with too many paragraphs.
|
7
7
|
#
|
8
8
|
# You should organize your method code into 2 to 3 paragraphs maximum.
|
9
|
-
# The 3 possible paragraphs themes
|
9
|
+
# The 3 possible paragraphs themes could be: initialization, action,
|
10
10
|
# and result. Shape your paragraph according to those themes. Spec code
|
11
11
|
# should also be organized into 2 to 3 paragraphs
|
12
12
|
# (initialization/action/result or given/when/then paragraphs).
|
13
13
|
#
|
14
|
-
# After organizing your paragraphs, if they are too long or dense, it
|
15
|
-
# a sign that
|
14
|
+
# After organizing your paragraphs, if they are too long or dense, it
|
15
|
+
# could be a sign that they should be broken into smaller methods.
|
16
16
|
#
|
17
17
|
# @example
|
18
18
|
#
|
@@ -39,7 +39,7 @@ module RuboCop
|
|
39
39
|
#
|
40
40
|
# Rails.logger.info('Content has been set')
|
41
41
|
# end
|
42
|
-
class TooManyParagraphs <
|
42
|
+
class TooManyParagraphs < Base
|
43
43
|
MSG = 'Organize method into 2 to 3 paragraphs (init, action, result).'
|
44
44
|
MAX_PARAGRAPHS = 3
|
45
45
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-obsession
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jerome Dalbert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-10-
|
11
|
+
date: 2024-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|