rubocop-github 0.20.0 → 0.22.0

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: d23c4950774e5fe3dd1dea8eb07c44ab795b16987b3915eb50456cb9d4826ad3
4
- data.tar.gz: 2003404eb801cc43c6ef0a7625f4536e334503577dafaa26d0ecaa3a0ea873e9
3
+ metadata.gz: e158f9c46a8771d2dced9060e0ca5ede3e55ffddb13d6e8cfa8c6b7bfdce2888
4
+ data.tar.gz: c0b8bbed2b058338dd2e39e9050943aed6b69683c88af4f615d733276f1f1582
5
5
  SHA512:
6
- metadata.gz: 105a5f9824d72e61041aae7559753e008e4337cf3a1d2a0b646e649647bbf42d8ded35d1a495a757500c02de31e9d44aeef4e25476c5a0b10b045c5712ef893d
7
- data.tar.gz: bd5d04dd886cf8804834fea5128036dc601d02c4f984c50e3f485ccf2bc8da329f27eda1a0ad0c088556fc4857c88d71f8a3a020b67176af99a562ed2d4eb5ca
6
+ metadata.gz: aafbf512fdadbffcac228fc45fc4877cfb6ea10bd3b35a7673eea11e8010888d1e7dd4686632a4239a63fd9d431a8e9a844dfcac4a62a129c8b410461cfe5389
7
+ data.tar.gz: e1961e828dbb86115b9969ba92c2a7bda764f9607effc0a25a3b729d4c21677fa0b25dedb126f25e0b7838a173eec30d782f264f4326723dc17a0a3367203e04
data/README.md CHANGED
@@ -1,4 +1,9 @@
1
- # RuboCop GitHub ![CI](https://github.com/github/rubocop-github/workflows/CI/badge.svg?event=push)
1
+ # RuboCop GitHub
2
+
3
+ [![test](https://github.com/github/rubocop-github/actions/workflows/test.yml/badge.svg)](https://github.com/github/rubocop-github/actions/workflows/test.yml)
4
+ [![build](https://github.com/github/rubocop-github/actions/workflows/build.yml/badge.svg)](https://github.com/github/rubocop-github/actions/workflows/build.yml)
5
+ [![lint](https://github.com/github/rubocop-github/actions/workflows/lint.yml/badge.svg)](https://github.com/github/rubocop-github/actions/workflows/lint.yml)
6
+ [![release](https://github.com/github/rubocop-github/actions/workflows/release.yml/badge.svg)](https://github.com/github/rubocop-github/actions/workflows/release.yml)
2
7
 
3
8
  This repository provides recommended RuboCop configuration and additional Cops for use on GitHub open source and internal Ruby projects, and is the home of [GitHub's Ruby Style Guide](./STYLEGUIDE.md).
4
9
 
@@ -16,10 +21,10 @@ Inherit all of the stylistic rules and cops through an inheritance declaration i
16
21
 
17
22
  ```yaml
18
23
  # .rubocop.yml
19
- inherit_from:
24
+ inherit_gem:
20
25
  rubocop-github:
21
- - config/default.yml # generic Ruby rules and cops
22
- - config/rails.yml # Rails-specific rules and cops
26
+ - config/default.yml # generic Ruby rules and cops
27
+ - config/rails.yml # Rails-specific rules and cops
23
28
  ```
24
29
 
25
30
  Alternatively, only require the additional custom cops in your `.rubocop.yml` without inheriting/enabling the other stylistic rules:
data/STYLEGUIDE.md CHANGED
@@ -678,7 +678,7 @@ end
678
678
 
679
679
  * Never put a space between a method name and the opening parenthesis.
680
680
  <a name="no-spaces-method-parens"></a><sup>[[link](#no-spaces-method-parens)]</sup>
681
- * <a href="https://docs.rubocop.org/rubocop/cops_style.html#styleparenthesesasgroupedexpression">RuboCop rule: Style/ParenthesesAsGroupedExpression</a>
681
+ * <a href="https://docs.rubocop.org/rubocop/cops_lint.html#lintparenthesesasgroupedexpression">RuboCop rule: Lint/ParenthesesAsGroupedExpression</a>
682
682
 
683
683
  ``` ruby
684
684
  # bad
data/config/default.yml CHANGED
@@ -44,6 +44,9 @@ Gemspec/RequiredRubyVersion:
44
44
  Gemspec/RubyVersionGlobalsUsage:
45
45
  Enabled: false
46
46
 
47
+ GitHub/AvoidObjectSendWithDynamicMethod:
48
+ Enabled: true
49
+
47
50
  GitHub/InsecureHashAlgorithm:
48
51
  Enabled: true
49
52
 
@@ -68,10 +71,10 @@ Layout/BlockAlignment:
68
71
  Layout/BlockEndNewline:
69
72
  Enabled: true
70
73
 
71
- # TODO: Enable this since it's in the styleguide.
72
74
  Layout/CaseIndentation:
73
- Enabled: false
75
+ Enabled: true
74
76
  StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#indent-when-as-start-of-case
77
+ EnforcedStyle: end
75
78
 
76
79
  Layout/ClassStructure:
77
80
  Enabled: false
@@ -216,6 +219,7 @@ Layout/LineEndStringConcatenationIndentation:
216
219
 
217
220
  Layout/LineLength:
218
221
  Enabled: false
222
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#line-length
219
223
 
220
224
  Layout/MultilineArrayBraceLayout:
221
225
  Enabled: false
@@ -290,7 +294,10 @@ Layout/SpaceAroundMethodCallOperator:
290
294
  Enabled: false
291
295
 
292
296
  Layout/SpaceAroundOperators:
293
- Enabled: false
297
+ Enabled: true
298
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#spaces-operators
299
+ Exclude:
300
+ - "**/*.erb"
294
301
 
295
302
  Layout/SpaceBeforeBlockBraces:
296
303
  Enabled: true
@@ -324,7 +331,8 @@ Layout/SpaceInsideBlockBraces:
324
331
  Enabled: true
325
332
 
326
333
  Layout/SpaceInsideHashLiteralBraces:
327
- Enabled: false
334
+ Enabled: true
335
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#spaces-operators
328
336
 
329
337
  Layout/SpaceInsideParens:
330
338
  Enabled: true
@@ -561,7 +569,9 @@ Lint/OutOfRangeRegexpRef:
561
569
  Enabled: false
562
570
 
563
571
  Lint/ParenthesesAsGroupedExpression:
564
- Enabled: false
572
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#no-spaces-method-parens
573
+ Exclude:
574
+ - "**/*.erb"
565
575
 
566
576
  Lint/PercentStringArray:
567
577
  Enabled: false
@@ -995,9 +1005,8 @@ Style/AccessorGrouping:
995
1005
  Style/Alias:
996
1006
  Enabled: false
997
1007
 
998
- # TODO: Enable this since it's in the styleguide.
999
1008
  Style/AndOr:
1000
- Enabled: false
1009
+ Enabled: true
1001
1010
  StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#no-and-or-or
1002
1011
 
1003
1012
  Style/ArgumentsForwarding:
@@ -1035,6 +1044,7 @@ Style/BlockDelimiters:
1035
1044
 
1036
1045
  Style/CaseEquality:
1037
1046
  Enabled: true
1047
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#type-checking-is-a-kind-of
1038
1048
 
1039
1049
  Style/CaseLikeIf:
1040
1050
  Enabled: false
@@ -1055,10 +1065,12 @@ Style/ClassMethods:
1055
1065
  Enabled: true
1056
1066
 
1057
1067
  Style/ClassMethodsDefinitions:
1058
- Enabled: false
1068
+ Enabled: true
1069
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#classes
1059
1070
 
1060
1071
  Style/ClassVars:
1061
1072
  Enabled: false
1073
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#class-variables
1062
1074
 
1063
1075
  Style/CollectionCompact:
1064
1076
  Enabled: false
@@ -1371,7 +1383,10 @@ Style/NestedParenthesizedCalls:
1371
1383
  Enabled: false
1372
1384
 
1373
1385
  Style/NestedTernaryOperator:
1374
- Enabled: false
1386
+ Enabled: true
1387
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#one-expression-per-branch
1388
+ Exclude:
1389
+ - "**/*.erb"
1375
1390
 
1376
1391
  Style/Next:
1377
1392
  Enabled: false
@@ -1422,7 +1437,10 @@ Style/OptionalBooleanParameter:
1422
1437
  Enabled: false
1423
1438
 
1424
1439
  Style/OrAssignment:
1425
- Enabled: false
1440
+ Enabled: true
1441
+ StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#memoize-away
1442
+ Exclude:
1443
+ - "**/*.erb"
1426
1444
 
1427
1445
  Style/ParallelAssignment:
1428
1446
  Enabled: false
@@ -4,3 +4,113 @@ Style/OperatorMethodCall: # new in 1.37
4
4
  Enabled: false
5
5
  Style/RedundantStringEscape: # new in 1.37
6
6
  Enabled: false
7
+ Gemspec/DevelopmentDependencies: # new in 1.44
8
+ Enabled: false
9
+ Lint/DuplicateMatchPattern: # new in 1.50
10
+ Enabled: false
11
+ Lint/ItWithoutArgumentsInBlock: # new in 1.59
12
+ Enabled: false
13
+ Lint/LiteralAssignmentInCondition: # new in 1.58
14
+ Enabled: false
15
+ Lint/MixedCaseRange: # new in 1.53
16
+ Enabled: false
17
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
18
+ Enabled: false
19
+ Lint/UselessRescue: # new in 1.43
20
+ Enabled: false
21
+ Metrics/CollectionLiteralLength: # new in 1.47
22
+ Enabled: false
23
+ Style/ArrayIntersect: # new in 1.40
24
+ Enabled: false
25
+ Style/ComparableClamp: # new in 1.44
26
+ Enabled: false
27
+ Style/ConcatArrayLiterals: # new in 1.41
28
+ Enabled: false
29
+ Style/DataInheritance: # new in 1.49
30
+ Enabled: false
31
+ Style/DirEmpty: # new in 1.48
32
+ Enabled: false
33
+ Style/ExactRegexpMatch: # new in 1.51
34
+ Enabled: false
35
+ Style/FileEmpty: # new in 1.48
36
+ Enabled: false
37
+ Style/MapIntoArray: # new in 1.63
38
+ Enabled: false
39
+ Style/MapToSet: # new in 1.42
40
+ Enabled: false
41
+ Style/MinMaxComparison: # new in 1.42
42
+ Enabled: false
43
+ Style/RedundantArrayConstructor: # new in 1.52
44
+ Enabled: false
45
+ Style/RedundantConstantBase: # new in 1.40
46
+ Enabled: false
47
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
48
+ Enabled: false
49
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
50
+ Enabled: false
51
+ Style/RedundantEach: # new in 1.38
52
+ Enabled: false
53
+ Style/RedundantFilterChain: # new in 1.52
54
+ Enabled: false
55
+ Style/RedundantHeredocDelimiterQuotes: # new in 1.45
56
+ Enabled: false
57
+ Style/RedundantLineContinuation: # new in 1.49
58
+ Enabled: false
59
+ Style/RedundantRegexpArgument: # new in 1.53
60
+ Enabled: false
61
+ Style/RedundantRegexpConstructor: # new in 1.52
62
+ Enabled: false
63
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
64
+ Enabled: false
65
+ Style/SingleLineDoEndBlock: # new in 1.57
66
+ Enabled: false
67
+ Style/SuperWithArgsParentheses: # new in 1.58
68
+ Enabled: false
69
+ Style/YAMLFileRead: # new in 1.53
70
+ Enabled: false
71
+ Performance/MapMethodChain: # new in 1.19
72
+ Enabled: false
73
+ Gemspec/AddRuntimeDependency: # new in 1.65
74
+ Enabled: false
75
+ Lint/ConstantReassignment: # new in 1.70
76
+ Enabled: false
77
+ Lint/DuplicateSetElement: # new in 1.67
78
+ Enabled: false
79
+ Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
80
+ Enabled: false
81
+ Lint/NumericOperationWithConstantResult: # new in 1.69
82
+ Enabled: false
83
+ Lint/SharedMutableDefault: # new in 1.70
84
+ Enabled: false
85
+ Lint/UnescapedBracketInRegexp: # new in 1.68
86
+ Enabled: false
87
+ Lint/UselessDefined: # new in 1.69
88
+ Enabled: false
89
+ Lint/UselessNumericOperation: # new in 1.66
90
+ Enabled: false
91
+ Style/AmbiguousEndlessMethodDefinition: # new in 1.68
92
+ Enabled: false
93
+ Style/BitwisePredicate: # new in 1.68
94
+ Enabled: false
95
+ Style/CombinableDefined: # new in 1.68
96
+ Enabled: false
97
+ Style/DigChain: # new in 1.69
98
+ Enabled: false
99
+ Style/FileNull: # new in 1.69
100
+ Enabled: false
101
+ Style/FileTouch: # new in 1.69
102
+ Enabled: false
103
+ Style/ItAssignment: # new in 1.70
104
+ Enabled: false
105
+ Style/KeywordArgumentsMerging: # new in 1.68
106
+ Enabled: false
107
+ Style/RedundantInterpolationUnfreeze: # new in 1.66
108
+ Enabled: false
109
+ Style/SafeNavigationChainLength: # new in 1.68
110
+ Enabled: false
111
+ Style/SendWithLiteralMethodName: # new in 1.64
112
+ Enabled: false
113
+ Style/SuperArguments: # new in 1.64
114
+ Enabled: false
115
+ Performance/StringBytesize: # new in 1.23
116
+ Enabled: false
@@ -18,3 +18,85 @@ Rails/WhereMissing: # new in 2.16
18
18
  Enabled: false
19
19
  Rails/WhereNotWithMultipleConditions: # new in 2.17
20
20
  Enabled: false
21
+ Gemspec/DevelopmentDependencies: # new in 1.44
22
+ Enabled: false
23
+ Lint/DuplicateMatchPattern: # new in 1.50
24
+ Enabled: false
25
+ Lint/ItWithoutArgumentsInBlock: # new in 1.59
26
+ Enabled: false
27
+ Lint/LiteralAssignmentInCondition: # new in 1.58
28
+ Enabled: false
29
+ Lint/MixedCaseRange: # new in 1.53
30
+ Enabled: false
31
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
32
+ Enabled: false
33
+ Lint/UselessRescue: # new in 1.43
34
+ Enabled: false
35
+ Metrics/CollectionLiteralLength: # new in 1.47
36
+ Enabled: false
37
+ Style/ArrayIntersect: # new in 1.40
38
+ Enabled: false
39
+ Style/ComparableClamp: # new in 1.44
40
+ Enabled: false
41
+ Style/ConcatArrayLiterals: # new in 1.41
42
+ Enabled: false
43
+ Style/DataInheritance: # new in 1.49
44
+ Enabled: false
45
+ Style/DirEmpty: # new in 1.48
46
+ Enabled: false
47
+ Style/ExactRegexpMatch: # new in 1.51
48
+ Enabled: false
49
+ Style/FileEmpty: # new in 1.48
50
+ Enabled: false
51
+ Style/MapIntoArray: # new in 1.63
52
+ Enabled: false
53
+ Style/MapToSet: # new in 1.42
54
+ Enabled: false
55
+ Style/MinMaxComparison: # new in 1.42
56
+ Enabled: false
57
+ Style/RedundantArrayConstructor: # new in 1.52
58
+ Enabled: false
59
+ Style/RedundantConstantBase: # new in 1.40
60
+ Enabled: false
61
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
62
+ Enabled: false
63
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
64
+ Enabled: false
65
+ Style/RedundantEach: # new in 1.38
66
+ Enabled: false
67
+ Style/RedundantFilterChain: # new in 1.52
68
+ Enabled: false
69
+ Style/RedundantHeredocDelimiterQuotes: # new in 1.45
70
+ Enabled: false
71
+ Style/RedundantLineContinuation: # new in 1.49
72
+ Enabled: false
73
+ Style/RedundantRegexpArgument: # new in 1.53
74
+ Enabled: false
75
+ Style/RedundantRegexpConstructor: # new in 1.52
76
+ Enabled: false
77
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
78
+ Enabled: false
79
+ Style/SingleLineDoEndBlock: # new in 1.57
80
+ Enabled: false
81
+ Style/SuperWithArgsParentheses: # new in 1.58
82
+ Enabled: false
83
+ Style/YAMLFileRead: # new in 1.53
84
+ Enabled: false
85
+ Performance/MapMethodChain: # new in 1.19
86
+ Enabled: false
87
+ Rails/DangerousColumnNames: # new in 2.21
88
+ Enabled: false
89
+ Rails/EnvLocal: # new in 2.22
90
+ Enabled: false
91
+ Rails/RedundantActiveRecordAllMethod: # new in 2.21
92
+ Enabled: false
93
+ Rails/ResponseParsedBody: # new in 2.18
94
+ Enabled: false
95
+ Rails/ThreeStateBooleanColumn: # new in 2.19
96
+ Enabled: false
97
+ Rails/UnusedRenderContent: # new in 2.21
98
+ Enabled: false
99
+ Rails/EnumSyntax: # new in 2.26
100
+ Enabled: false
101
+ Rails/WhereRange: # new in 2.25
102
+ Enabled: false
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+
5
+ module RuboCop
6
+ module Cop
7
+ module GitHub
8
+ # Public: A Rubocop to discourage using methods like Object#send that allow you to dynamically call other
9
+ # methods on a Ruby object, when the method being called is itself completely dynamic. Instead, explicitly call
10
+ # methods by name.
11
+ #
12
+ # Examples:
13
+ #
14
+ # # bad
15
+ # foo.send(some_variable)
16
+ #
17
+ # # good
18
+ # case some_variable
19
+ # when "bar"
20
+ # foo.bar
21
+ # else
22
+ # foo.baz
23
+ # end
24
+ #
25
+ # # fine
26
+ # foo.send(:bar)
27
+ # foo.public_send("some_method")
28
+ # foo.__send__("some_#{variable}_method")
29
+ class AvoidObjectSendWithDynamicMethod < Base
30
+ MESSAGE_TEMPLATE = "Avoid using Object#%s with a dynamic method name."
31
+ SEND_METHODS = %i(send public_send __send__).freeze
32
+ CONSTANT_TYPES = %i(sym str const).freeze
33
+
34
+ def on_send(node)
35
+ return unless send_method?(node)
36
+ return if method_being_sent_is_constrained?(node)
37
+ add_offense(source_range_for_method_call(node), message: MESSAGE_TEMPLATE % node.method_name)
38
+ end
39
+
40
+ private
41
+
42
+ def send_method?(node)
43
+ SEND_METHODS.include?(node.method_name)
44
+ end
45
+
46
+ def method_being_sent_is_constrained?(node)
47
+ method_name_being_sent_is_constant?(node) || method_name_being_sent_is_dynamic_string_with_constants?(node)
48
+ end
49
+
50
+ def method_name_being_sent_is_constant?(node)
51
+ method_being_sent = node.arguments.first
52
+ # e.g., `worker.send(:perform)` or `base.send("extend", Foo)`
53
+ CONSTANT_TYPES.include?(method_being_sent.type)
54
+ end
55
+
56
+ def method_name_being_sent_is_dynamic_string_with_constants?(node)
57
+ method_being_sent = node.arguments.first
58
+ return false unless method_being_sent.type == :dstr
59
+
60
+ # e.g., `foo.send("can_#{action}?")`
61
+ method_being_sent.child_nodes.any? { |child_node| CONSTANT_TYPES.include?(child_node.type) }
62
+ end
63
+
64
+ def source_range_for_method_call(node)
65
+ begin_pos =
66
+ if node.receiver # e.g., for `foo.send(:bar)`, `foo` is the receiver
67
+ node.receiver.source_range.end_pos
68
+ else # e.g., `send(:bar)`
69
+ node.source_range.begin_pos
70
+ end
71
+ end_pos = node.loc.selector.end_pos
72
+ Parser::Source::Range.new(processed_source.buffer, begin_pos, end_pos)
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -9,7 +9,7 @@ module RuboCop
9
9
  class RailsControllerRenderLiteral < Base
10
10
  include RenderLiteralHelpers
11
11
 
12
- MSG = "render must be used with a string literal or an instance of a Class"
12
+ MSG = "render must be used with a string literal or an instance of a Class, and use literals for locals keys"
13
13
 
14
14
  def_node_matcher :ignore_key?, <<-PATTERN
15
15
  (pair (sym {
@@ -41,7 +41,8 @@ module RuboCop
41
41
  PATTERN
42
42
 
43
43
  def hash_with_literal_keys?(hash)
44
- hash.pairs.all? { |pair| literal?(pair.key) }
44
+ hash.children.all? { |child| child.pair_type? } &&
45
+ hash.pairs.all? { |pair| literal?(pair.key) }
45
46
  end
46
47
 
47
48
  def render_view_component?(node)
@@ -6,4 +6,5 @@ require "rubocop/github/inject"
6
6
 
7
7
  RuboCop::GitHub::Inject.default_defaults!
8
8
 
9
+ require "rubocop/cop/github/avoid_object_send_with_dynamic_method"
9
10
  require "rubocop/cop/github/insecure_hash_algorithm"
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ VERSION = "0.22.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-github
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-28 00:00:00.000000000 Z
11
+ date: 2025-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- description: 'Code style checking for GitHub Ruby repositories '
97
+ description: Code style checking for GitHub Ruby repositories
98
98
  email: engineering@github.com
99
99
  executables: []
100
100
  extensions: []
@@ -114,6 +114,7 @@ files:
114
114
  - lib/rubocop-github-rails.rb
115
115
  - lib/rubocop-github.rb
116
116
  - lib/rubocop/cop/github.rb
117
+ - lib/rubocop/cop/github/avoid_object_send_with_dynamic_method.rb
117
118
  - lib/rubocop/cop/github/insecure_hash_algorithm.rb
118
119
  - lib/rubocop/cop/github/rails_controller_render_action_symbol.rb
119
120
  - lib/rubocop/cop/github/rails_controller_render_literal.rb
@@ -126,10 +127,14 @@ files:
126
127
  - lib/rubocop/cop/github/render_literal_helpers.rb
127
128
  - lib/rubocop/github.rb
128
129
  - lib/rubocop/github/inject.rb
130
+ - lib/version.rb
129
131
  homepage: https://github.com/github/rubocop-github
130
132
  licenses:
131
133
  - MIT
132
- metadata: {}
134
+ metadata:
135
+ source_code_uri: https://github.com/github/rubocop-github
136
+ documentation_uri: https://github.com/github/rubocop-github
137
+ bug_tracker_uri: https://github.com/github/rubocop-github/issues
133
138
  post_install_message:
134
139
  rdoc_options: []
135
140
  require_paths:
@@ -138,14 +143,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
143
  requirements:
139
144
  - - ">="
140
145
  - !ruby/object:Gem::Version
141
- version: 2.5.0
146
+ version: 3.0.0
142
147
  required_rubygems_version: !ruby/object:Gem::Requirement
143
148
  requirements:
144
149
  - - ">="
145
150
  - !ruby/object:Gem::Version
146
151
  version: '0'
147
152
  requirements: []
148
- rubygems_version: 3.3.7
153
+ rubygems_version: 3.4.6
149
154
  signing_key:
150
155
  specification_version: 4
151
156
  summary: RuboCop GitHub