asciidoctor-rfc 0.8.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +3 -0
  3. data/.rubocop.ribose.yml +65 -0
  4. data/.rubocop.tb.yml +640 -0
  5. data/.rubocop.yml +13 -30
  6. data/.travis.yml +8 -3
  7. data/CODE_OF_CONDUCT.md +46 -0
  8. data/Gemfile +8 -1
  9. data/LICENSE +21 -17
  10. data/README.adoc +471 -52
  11. data/asciidoctor-rfc.gemspec +14 -13
  12. data/lib/asciidoctor-rfc.rb +4 -4
  13. data/lib/asciidoctor/rfc/common/base.rb +304 -58
  14. data/lib/asciidoctor/rfc/common/front.rb +3 -3
  15. data/lib/asciidoctor/rfc/v2/base.rb +71 -82
  16. data/lib/asciidoctor/rfc/v2/blocks.rb +33 -10
  17. data/lib/asciidoctor/rfc/v2/converter.rb +0 -3
  18. data/lib/asciidoctor/rfc/v2/inline_anchor.rb +35 -20
  19. data/lib/asciidoctor/rfc/v2/lists.rb +11 -13
  20. data/lib/asciidoctor/rfc/v2/table.rb +11 -9
  21. data/lib/asciidoctor/rfc/v2/validate.rb +18 -724
  22. data/lib/asciidoctor/rfc/v3/base.rb +75 -102
  23. data/lib/asciidoctor/rfc/v3/blocks.rb +7 -9
  24. data/lib/asciidoctor/rfc/v3/converter.rb +0 -1
  25. data/lib/asciidoctor/rfc/v3/front.rb +14 -7
  26. data/lib/asciidoctor/rfc/v3/inline_anchor.rb +12 -9
  27. data/lib/asciidoctor/rfc/v3/lists.rb +31 -45
  28. data/lib/asciidoctor/rfc/v3/table.rb +2 -2
  29. data/lib/asciidoctor/rfc/v3/validate.rb +19 -2153
  30. data/lib/asciidoctor/rfc/v3/validate.rng +1 -1
  31. data/lib/asciidoctor/rfc/version.rb +1 -1
  32. data/rfc2629-other.ent +61 -0
  33. data/rfc2629-xhtml.ent +165 -0
  34. data/rfc2629.dtd +312 -0
  35. data/spec/asciidoctor/rfc/v2/biblio_spec.rb +9 -0
  36. data/spec/asciidoctor/rfc/v2/comments_spec.rb +67 -1
  37. data/spec/asciidoctor/rfc/v2/crossref_spec.rb +127 -5
  38. data/spec/asciidoctor/rfc/v2/date_spec.rb +24 -28
  39. data/spec/asciidoctor/rfc/v2/dlist_spec.rb +5 -5
  40. data/spec/asciidoctor/rfc/v2/image_spec.rb +2 -2
  41. data/spec/asciidoctor/rfc/v2/inline_formatting_spec.rb +28 -0
  42. data/spec/asciidoctor/rfc/v2/listing_spec.rb +2 -2
  43. data/spec/asciidoctor/rfc/v2/literal_spec.rb +4 -4
  44. data/spec/asciidoctor/rfc/v2/preamble_spec.rb +1 -1
  45. data/spec/asciidoctor/rfc/v2/quote_spec.rb +1 -1
  46. data/spec/asciidoctor/rfc/v2/references_spec.rb +210 -3
  47. data/spec/asciidoctor/rfc/v2/section_spec.rb +33 -0
  48. data/spec/asciidoctor/rfc/v2/table_spec.rb +40 -1
  49. data/spec/asciidoctor/rfc/v2/text_spec.rb +71 -14
  50. data/spec/asciidoctor/rfc/v2/ulist_spec.rb +1 -1
  51. data/spec/asciidoctor/rfc/v3/biblio_spec.rb +13 -0
  52. data/spec/asciidoctor/rfc/v3/comments_spec.rb +71 -0
  53. data/spec/asciidoctor/rfc/v3/crossref_spec.rb +7 -0
  54. data/spec/asciidoctor/rfc/v3/dlist_spec.rb +4 -4
  55. data/spec/asciidoctor/rfc/v3/literal_spec.rb +1 -1
  56. data/spec/asciidoctor/rfc/v3/preamble_spec.rb +1 -1
  57. data/spec/asciidoctor/rfc/v3/references_spec.rb +208 -3
  58. data/spec/asciidoctor/rfc/v3/series_info_spec.rb +1 -1
  59. data/spec/asciidoctor/rfc/v3/table_spec.rb +70 -1
  60. data/spec/examples/README.adoc +42 -6
  61. data/spec/examples/biblio-insert-v2.adoc +29 -0
  62. data/spec/examples/biblio-insert-v3.adoc +30 -0
  63. data/spec/examples/davies-template-bare-06.adoc +1 -0
  64. data/spec/examples/draft-iab-html-rfc-bis.xml.adoc +2300 -0
  65. data/spec/examples/draft-iab-html-rfc-bis.xml.orig +1999 -0
  66. data/spec/examples/draft-iab-html-rfc-bis.xml.txt +2298 -0
  67. data/spec/examples/draft-iab-rfc-framework-bis.xml.adoc +662 -0
  68. data/spec/examples/draft-iab-rfc-framework-bis.xml.orig +476 -0
  69. data/spec/examples/draft-ietf-core-block-xx.mkd.adoc +8 -33
  70. data/spec/examples/hoffmanv2.xml.adoc +4 -0
  71. data/spec/examples/mib-doc-template-xml-06.adoc +6 -8
  72. data/spec/examples/refs-v2-database.xml +86 -0
  73. data/spec/examples/refs-v2.adoc +49 -0
  74. data/spec/examples/refs-v2.xml +50 -0
  75. data/spec/examples/refs-v2/AsciiDoc.xml +8 -0
  76. data/spec/examples/refs-v2/AsciiMathML.xml +8 -0
  77. data/spec/examples/refs-v2/IETF-BibXML.xml +9 -0
  78. data/spec/examples/refs-v2/MathJax.xml +8 -0
  79. data/spec/examples/refs-v2/NroffEdit.xml +8 -0
  80. data/spec/examples/refs-v2/TeX-LaTeX.xml +8 -0
  81. data/spec/examples/refs-v2/abarth +17 -0
  82. data/spec/examples/refs-v2/asciidoctor-bibliography.xml +19 -0
  83. data/spec/examples/refs-v2/asciidoctor-manual.xml +11 -0
  84. data/spec/examples/refs-v2/asciidoctor-rfc.xml +18 -0
  85. data/spec/examples/refs-v2/asciidoctor.xml +10 -0
  86. data/spec/examples/refs-v2/draftr.xml +8 -0
  87. data/spec/examples/refs-v2/kramdown-rfc2629.xml +8 -0
  88. data/spec/examples/refs-v2/lyx2rfc.xml +8 -0
  89. data/spec/examples/refs-v2/mmark.xml +9 -0
  90. data/spec/examples/refs-v2/pandoc2rfc.xml +8 -0
  91. data/spec/examples/refs-v2/reference.RFC.2119.xml +7 -0
  92. data/spec/examples/refs-v2/reference.RFC.5385.xml +7 -0
  93. data/spec/examples/refs-v2/reference.RFC.7328.xml +7 -0
  94. data/spec/examples/refs-v2/reference.RFC.7749.xml +7 -0
  95. data/spec/examples/refs-v2/reference.RFC.7763.xml +7 -0
  96. data/spec/examples/refs-v2/reference.RFC.7764.xml +7 -0
  97. data/spec/examples/refs-v2/reference.RFC.7990.xml +7 -0
  98. data/spec/examples/refs-v2/reference.RFC.7991.xml +7 -0
  99. data/spec/examples/refs-v3-database.xml +137 -0
  100. data/spec/examples/refs-v3.adoc +57 -0
  101. data/spec/examples/refs-v3.xml +90 -0
  102. data/spec/examples/refs-v3/AsciiDoc.xml +8 -0
  103. data/spec/examples/refs-v3/AsciiMathML.xml +8 -0
  104. data/spec/examples/refs-v3/IETF-BibXML.xml +9 -0
  105. data/spec/examples/refs-v3/MathJax.xml +8 -0
  106. data/spec/examples/refs-v3/NroffEdit.xml +8 -0
  107. data/spec/examples/refs-v3/TeX-LaTeX.xml +8 -0
  108. data/spec/examples/refs-v3/abarth +17 -0
  109. data/spec/examples/refs-v3/asciidoctor-bibliography.xml +19 -0
  110. data/spec/examples/refs-v3/asciidoctor-manual.xml +11 -0
  111. data/spec/examples/refs-v3/asciidoctor-rfc.xml +18 -0
  112. data/spec/examples/refs-v3/asciidoctor.xml +10 -0
  113. data/spec/examples/refs-v3/draftr.xml +8 -0
  114. data/spec/examples/refs-v3/kramdown-rfc2629.xml +8 -0
  115. data/spec/examples/refs-v3/lyx2rfc.xml +8 -0
  116. data/spec/examples/refs-v3/mathrefs.xml +19 -0
  117. data/spec/examples/refs-v3/mmark.xml +9 -0
  118. data/spec/examples/refs-v3/pandoc2rfc.xml +8 -0
  119. data/spec/examples/refs-v3/reference.RFC.2119.xml +7 -0
  120. data/spec/examples/refs-v3/reference.RFC.5385.xml +7 -0
  121. data/spec/examples/refs-v3/reference.RFC.7328.xml +7 -0
  122. data/spec/examples/refs-v3/reference.RFC.7749.xml +7 -0
  123. data/spec/examples/refs-v3/reference.RFC.7763.xml +7 -0
  124. data/spec/examples/refs-v3/reference.RFC.7764.xml +7 -0
  125. data/spec/examples/refs-v3/reference.RFC.7990.xml +7 -0
  126. data/spec/examples/refs-v3/reference.RFC.7991.xml +7 -0
  127. data/spec/examples/rfc2100.md.adoc +57 -44
  128. data/spec/examples/rfc3514.md.adoc +1 -1
  129. data/spec/examples/rfc6350.adoc +701 -695
  130. data/spec/examples/rfc6350.txt.orig +3372 -0
  131. data/spec/examples/rfc6350_refs.xml +774 -0
  132. data/spec/examples/rfc748.md.adoc +1 -1
  133. data/spec/examples/rfc7511.md.adoc +3 -3
  134. data/spec/examples/skel.mkd.adoc +1 -0
  135. data/spec/examples/stupid-s.mkd.adoc +4 -4
  136. metadata +94 -8
  137. data/spec/examples/rfc6350.bib +0 -763
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35f7a1bd23b6de975c31f813b3c706bacd397143
4
- data.tar.gz: cf7b2e21d14bfe6adcea630187d47ecf894299ff
3
+ metadata.gz: d4f4e13a1c0b1f7b874d877b3af7ac9bb6a9c57e
4
+ data.tar.gz: a8568b817911f27790d5f6c650be1b7f7b689b1b
5
5
  SHA512:
6
- metadata.gz: c482a9f84673ef72e87ede4096ee1584a90c1df3be25cdc73e49cc243a3e336289d8b1f58cd036625fac5e8fa5a7006d41e523bc8d6fde26cac6edbc01a0fb7e
7
- data.tar.gz: 9f8d197aa2f9ec92af349ca550a6f4b8a423ca090d597481932fefc2694c835c744feee74b2fb16870d6eb98e120cd5d337a8bd8ecf872c2d1361a37536a0881
6
+ metadata.gz: be627748bf8653eb0c6216f8c407e3a4a6859f73e7e3c6063226c510a8c132f420255a07a717a2c0b68772cf25a6ba99a09e21c4b277392fba9137557e41e71f
7
+ data.tar.gz: ee27131d6f964ea7ef0470c2b487212b3a8ae215e32182e9a9f2cb77f39db82bd0cc295969c8831a1443dfb829f4decec1e2773cbf2dfdfe9133b55aab43a95a
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ Enabled: true
3
+ config_file: .rubocop.yml
@@ -0,0 +1,65 @@
1
+ AllCops:
2
+ Include:
3
+ - "**/*.rake"
4
+ - "**/Gemfile"
5
+ - "**/*.gemfile"
6
+ - "**/Rakefile"
7
+ Exclude:
8
+ - "vendor/**/*"
9
+ - "db/**/*"
10
+ - "tmp/**/*"
11
+ DisplayCopNames: false
12
+ StyleGuideCopsOnly: false
13
+ Rails:
14
+ Enabled: true
15
+ Metrics/AbcSize:
16
+ Description: A calculated magnitude based on number of assignments, branches, and
17
+ conditions.
18
+ Enabled: true
19
+ Max: 15
20
+ Metrics/BlockLength:
21
+ Exclude:
22
+ - "spec/**/*"
23
+ Metrics/BlockNesting:
24
+ Description: Avoid excessive block nesting
25
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
26
+ Enabled: true
27
+ Max: 3
28
+ Metrics/ClassLength:
29
+ Description: Avoid classes longer than 100 lines of code.
30
+ Enabled: false
31
+ CountComments: false
32
+ Max: 100
33
+ Metrics/CyclomaticComplexity:
34
+ Description: A complexity metric that is strongly correlated to the number of test
35
+ cases needed to validate a method.
36
+ Enabled: true
37
+ Max: 6
38
+ Metrics/LineLength:
39
+ Description: Limit lines to 80 characters.
40
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
41
+ Enabled: true
42
+ Max: 80
43
+ AllowURI: true
44
+ URISchemes:
45
+ - http
46
+ - https
47
+ Metrics/MethodLength:
48
+ Description: Avoid methods longer than 10 lines of code.
49
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
50
+ Enabled: true
51
+ CountComments: true
52
+ Max: 10
53
+ Exclude:
54
+ - "spec/**/*"
55
+ Metrics/ParameterLists:
56
+ Description: Avoid long parameter lists.
57
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
58
+ Enabled: true
59
+ Max: 5
60
+ CountKeywordArgs: true
61
+ Metrics/PerceivedComplexity:
62
+ Description: A complexity metric geared towards measuring complexity for a human
63
+ reader.
64
+ Enabled: true
65
+ Max: 7
data/.rubocop.tb.yml ADDED
@@ -0,0 +1,640 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/schema.rb
4
+
5
+ Naming/AccessorMethodName:
6
+ Description: Check the naming of accessor methods for get_/set_.
7
+ Enabled: false
8
+
9
+ Style/Alias:
10
+ Description: 'Use alias_method instead of alias.'
11
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
12
+ Enabled: false
13
+
14
+ Style/ArrayJoin:
15
+ Description: 'Use Array#join instead of Array#*.'
16
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
17
+ Enabled: false
18
+
19
+ Style/AsciiComments:
20
+ Description: 'Use only ascii symbols in comments.'
21
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
22
+ Enabled: false
23
+
24
+ Naming/AsciiIdentifiers:
25
+ Description: 'Use only ascii symbols in identifiers.'
26
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
27
+ Enabled: false
28
+
29
+ Style/Attr:
30
+ Description: 'Checks for uses of Module#attr.'
31
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
32
+ Enabled: false
33
+
34
+ Metrics/BlockNesting:
35
+ Description: 'Avoid excessive block nesting'
36
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
37
+ Enabled: false
38
+
39
+ Style/CaseEquality:
40
+ Description: 'Avoid explicit use of the case equality operator(===).'
41
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
42
+ Enabled: false
43
+
44
+ Style/CharacterLiteral:
45
+ Description: 'Checks for uses of character literals.'
46
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
47
+ Enabled: false
48
+
49
+ Style/ClassAndModuleChildren:
50
+ Description: 'Checks style of children classes and modules.'
51
+ Enabled: true
52
+ EnforcedStyle: nested
53
+
54
+ Metrics/ClassLength:
55
+ Description: 'Avoid classes longer than 100 lines of code.'
56
+ Enabled: false
57
+
58
+ Metrics/ModuleLength:
59
+ Description: 'Avoid modules longer than 100 lines of code.'
60
+ Enabled: false
61
+
62
+ Style/ClassVars:
63
+ Description: 'Avoid the use of class variables.'
64
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
65
+ Enabled: false
66
+
67
+ Style/CollectionMethods:
68
+ Enabled: true
69
+ PreferredMethods:
70
+ find: detect
71
+ inject: reduce
72
+ collect: map
73
+ find_all: select
74
+
75
+ Style/ColonMethodCall:
76
+ Description: 'Do not use :: for method call.'
77
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
78
+ Enabled: false
79
+
80
+ Style/CommentAnnotation:
81
+ Description: >-
82
+ Checks formatting of special comments
83
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
84
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
85
+ Enabled: false
86
+
87
+ Metrics/AbcSize:
88
+ Description: >-
89
+ A calculated magnitude based on number of assignments,
90
+ branches, and conditions.
91
+ Enabled: false
92
+
93
+ Metrics/BlockLength:
94
+ CountComments: true # count full line comments?
95
+ Max: 25
96
+ ExcludedMethods: []
97
+ Exclude:
98
+ - "spec/**/*"
99
+
100
+ Metrics/CyclomaticComplexity:
101
+ Description: >-
102
+ A complexity metric that is strongly correlated to the number
103
+ of test cases needed to validate a method.
104
+ Enabled: false
105
+
106
+ Rails/Delegate:
107
+ Description: 'Prefer delegate method for delegations.'
108
+ Enabled: false
109
+
110
+ Style/PreferredHashMethods:
111
+ Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
112
+ StyleGuide: '#hash-key'
113
+ Enabled: false
114
+
115
+ Style/Documentation:
116
+ Description: 'Document classes and non-namespace modules.'
117
+ Enabled: false
118
+
119
+ Style/DoubleNegation:
120
+ Description: 'Checks for uses of double negation (!!).'
121
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
122
+ Enabled: false
123
+
124
+ Style/EachWithObject:
125
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
126
+ Enabled: false
127
+
128
+ Style/EmptyLiteral:
129
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
130
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
131
+ Enabled: false
132
+
133
+ # Checks whether the source file has a utf-8 encoding comment or not
134
+ # AutoCorrectEncodingComment must match the regex
135
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
136
+ Style/Encoding:
137
+ Enabled: false
138
+
139
+ Style/EvenOdd:
140
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
141
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
142
+ Enabled: false
143
+
144
+ Naming/FileName:
145
+ Description: 'Use snake_case for source file names.'
146
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
147
+ Enabled: false
148
+
149
+ Style/FrozenStringLiteralComment:
150
+ Description: >-
151
+ Add the frozen_string_literal comment to the top of files
152
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
153
+ Enabled: false
154
+
155
+ Style/FlipFlop:
156
+ Description: 'Checks for flip flops'
157
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
158
+ Enabled: false
159
+
160
+ Style/FormatString:
161
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
162
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
163
+ Enabled: false
164
+
165
+ Style/GlobalVars:
166
+ Description: 'Do not introduce global variables.'
167
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
168
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
169
+ Enabled: false
170
+
171
+ Style/GuardClause:
172
+ Description: 'Check for conditionals that can be replaced with guard clauses'
173
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
174
+ Enabled: false
175
+
176
+ Style/IfUnlessModifier:
177
+ Description: >-
178
+ Favor modifier if/unless usage when you have a
179
+ single-line body.
180
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
181
+ Enabled: false
182
+
183
+ Style/IfWithSemicolon:
184
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
185
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
186
+ Enabled: false
187
+
188
+ Style/InlineComment:
189
+ Description: 'Avoid inline comments.'
190
+ Enabled: false
191
+
192
+ Style/Lambda:
193
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
194
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
195
+ Enabled: false
196
+
197
+ Style/LambdaCall:
198
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
199
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
200
+ Enabled: false
201
+
202
+ Style/LineEndConcatenation:
203
+ Description: >-
204
+ Use \ instead of + or << to concatenate two string literals at
205
+ line end.
206
+ Enabled: false
207
+
208
+ Metrics/LineLength:
209
+ Description: 'Limit lines to 80 characters.'
210
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
211
+ Max: 80
212
+
213
+ Metrics/MethodLength:
214
+ Description: 'Avoid methods longer than 10 lines of code.'
215
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
216
+ Enabled: false
217
+
218
+ Style/ModuleFunction:
219
+ Description: 'Checks for usage of `extend self` in modules.'
220
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
221
+ Enabled: false
222
+
223
+ Style/MultilineBlockChain:
224
+ Description: 'Avoid multi-line chains of blocks.'
225
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
226
+ Enabled: false
227
+
228
+ Style/NegatedIf:
229
+ Description: >-
230
+ Favor unless over if for negative conditions
231
+ (or control flow or).
232
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
233
+ Enabled: false
234
+
235
+ Style/NegatedWhile:
236
+ Description: 'Favor until over while for negative conditions.'
237
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
238
+ Enabled: false
239
+
240
+ Style/Next:
241
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
242
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
243
+ Enabled: false
244
+
245
+ Style/NilComparison:
246
+ Description: 'Prefer x.nil? to x == nil.'
247
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
248
+ Enabled: false
249
+
250
+ Style/Not:
251
+ Description: 'Use ! instead of not.'
252
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
253
+ Enabled: false
254
+
255
+ Style/NumericLiterals:
256
+ Description: >-
257
+ Add underscores to large numeric literals to improve their
258
+ readability.
259
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
260
+ Enabled: false
261
+
262
+ Style/OneLineConditional:
263
+ Description: >-
264
+ Favor the ternary operator(?:) over
265
+ if/then/else/end constructs.
266
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
267
+ Enabled: false
268
+
269
+ Naming/BinaryOperatorParameterName:
270
+ Description: 'When defining binary operators, name the argument other.'
271
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
272
+ Enabled: false
273
+
274
+ Metrics/ParameterLists:
275
+ Description: 'Avoid parameter lists longer than three or four parameters.'
276
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
277
+ Enabled: false
278
+
279
+ Style/PercentLiteralDelimiters:
280
+ Description: 'Use `%`-literal delimiters consistently'
281
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
282
+ Enabled: false
283
+
284
+ Style/PerlBackrefs:
285
+ Description: 'Avoid Perl-style regex back references.'
286
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
287
+ Enabled: false
288
+
289
+ Naming/PredicateName:
290
+ Description: 'Check the names of predicate methods.'
291
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
292
+ NamePrefixBlacklist:
293
+ - is_
294
+ Exclude:
295
+ - spec/**/*
296
+
297
+ Style/Proc:
298
+ Description: 'Use proc instead of Proc.new.'
299
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
300
+ Enabled: false
301
+
302
+ Style/RaiseArgs:
303
+ Description: 'Checks the arguments passed to raise/fail.'
304
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
305
+ Enabled: false
306
+
307
+ Style/RegexpLiteral:
308
+ Description: 'Use / or %r around regular expressions.'
309
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
310
+ Enabled: false
311
+
312
+ Style/SelfAssignment:
313
+ Description: >-
314
+ Checks for places where self-assignment shorthand should have
315
+ been used.
316
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
317
+ Enabled: false
318
+
319
+ Style/SingleLineBlockParams:
320
+ Description: 'Enforces the names of some block params.'
321
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
322
+ Enabled: false
323
+
324
+ Style/SingleLineMethods:
325
+ Description: 'Avoid single-line methods.'
326
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
327
+ Enabled: false
328
+
329
+ Style/SignalException:
330
+ Description: 'Checks for proper usage of fail and raise.'
331
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
332
+ Enabled: false
333
+
334
+ Style/SpecialGlobalVars:
335
+ Description: 'Avoid Perl-style global variables.'
336
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
337
+ Enabled: false
338
+
339
+ Style/StringLiterals:
340
+ Description: 'Checks if uses of quotes match the configured preference.'
341
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
342
+ EnforcedStyle: double_quotes
343
+ Enabled: true
344
+
345
+ Style/TrailingCommaInArguments:
346
+ Description: 'Checks for trailing comma in argument lists.'
347
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
348
+ EnforcedStyleForMultiline: comma
349
+ SupportedStylesForMultiline:
350
+ - comma
351
+ - consistent_comma
352
+ - no_comma
353
+ Enabled: true
354
+
355
+ Style/TrailingCommaInLiteral:
356
+ Description: 'Checks for trailing comma in array and hash literals.'
357
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
358
+ EnforcedStyleForMultiline: comma
359
+ SupportedStylesForMultiline:
360
+ - comma
361
+ - consistent_comma
362
+ - no_comma
363
+ Enabled: true
364
+
365
+ Style/TrivialAccessors:
366
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
367
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
368
+ Enabled: false
369
+
370
+ Style/VariableInterpolation:
371
+ Description: >-
372
+ Don't interpolate global, instance and class variables
373
+ directly in strings.
374
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
375
+ Enabled: false
376
+
377
+ Style/WhenThen:
378
+ Description: 'Use when x then ... for one-line cases.'
379
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
380
+ Enabled: false
381
+
382
+ Style/WhileUntilModifier:
383
+ Description: >-
384
+ Favor modifier while/until usage when you have a
385
+ single-line body.
386
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
387
+ Enabled: false
388
+
389
+ Style/WordArray:
390
+ Description: 'Use %w or %W for arrays of words.'
391
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
392
+ Enabled: false
393
+
394
+ # Layout
395
+
396
+ Layout/AlignParameters:
397
+ Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
398
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
399
+ Enabled: false
400
+
401
+ Layout/DotPosition:
402
+ Description: 'Checks the position of the dot in multi-line method calls.'
403
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
404
+ EnforcedStyle: trailing
405
+
406
+ Layout/ExtraSpacing:
407
+ Description: 'Do not use unnecessary spacing.'
408
+ Enabled: true
409
+
410
+ Layout/MultilineOperationIndentation:
411
+ Description: >-
412
+ Checks indentation of binary operations that span more than
413
+ one line.
414
+ Enabled: true
415
+ EnforcedStyle: indented
416
+
417
+ Layout/MultilineMethodCallIndentation:
418
+ Description: >-
419
+ Checks indentation of method calls with the dot operator
420
+ that span more than one line.
421
+ Enabled: true
422
+ EnforcedStyle: indented
423
+
424
+ Layout/InitialIndentation:
425
+ Description: >-
426
+ Checks the indentation of the first non-blank non-comment line in a file.
427
+ Enabled: false
428
+
429
+ # Lint
430
+
431
+ Lint/AmbiguousOperator:
432
+ Description: >-
433
+ Checks for ambiguous operators in the first argument of a
434
+ method invocation without parentheses.
435
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
436
+ Enabled: false
437
+
438
+ Lint/AmbiguousRegexpLiteral:
439
+ Description: >-
440
+ Checks for ambiguous regexp literals in the first argument of
441
+ a method invocation without parenthesis.
442
+ Enabled: false
443
+
444
+ Lint/AssignmentInCondition:
445
+ Description: "Don't use assignment in conditions."
446
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
447
+ Enabled: false
448
+
449
+ Lint/CircularArgumentReference:
450
+ Description: "Don't refer to the keyword argument in the default value."
451
+ Enabled: false
452
+
453
+ Lint/ConditionPosition:
454
+ Description: >-
455
+ Checks for condition placed in a confusing position relative to
456
+ the keyword.
457
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
458
+ Enabled: false
459
+
460
+ Lint/DeprecatedClassMethods:
461
+ Description: 'Check for deprecated class method calls.'
462
+ Enabled: false
463
+
464
+ Lint/DuplicatedKey:
465
+ Description: 'Check for duplicate keys in hash literals.'
466
+ Enabled: false
467
+
468
+ Lint/EachWithObjectArgument:
469
+ Description: 'Check for immutable argument given to each_with_object.'
470
+ Enabled: false
471
+
472
+ Lint/ElseLayout:
473
+ Description: 'Check for odd code arrangement in an else block.'
474
+ Enabled: false
475
+
476
+ Lint/FormatParameterMismatch:
477
+ Description: 'The number of parameters to format/sprint must match the fields.'
478
+ Enabled: false
479
+
480
+ Lint/HandleExceptions:
481
+ Description: "Don't suppress exception."
482
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
483
+ Enabled: false
484
+
485
+ Lint/LiteralAsCondition:
486
+ Description: 'Checks of literals used in conditions.'
487
+ Enabled: false
488
+
489
+ Lint/LiteralInInterpolation:
490
+ Description: 'Checks for literals used in interpolation.'
491
+ Enabled: false
492
+
493
+ Lint/Loop:
494
+ Description: >-
495
+ Use Kernel#loop with break rather than begin/end/until or
496
+ begin/end/while for post-loop tests.
497
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
498
+ Enabled: false
499
+
500
+ Lint/NestedMethodDefinition:
501
+ Description: 'Do not use nested method definitions.'
502
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
503
+ Enabled: false
504
+
505
+ Lint/NonLocalExitFromIterator:
506
+ Description: 'Do not use return in iterator to cause non-local exit.'
507
+ Enabled: false
508
+
509
+ Lint/ParenthesesAsGroupedExpression:
510
+ Description: >-
511
+ Checks for method calls with a space before the opening
512
+ parenthesis.
513
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
514
+ Enabled: false
515
+
516
+ Lint/RequireParentheses:
517
+ Description: >-
518
+ Use parentheses in the method call to avoid confusion
519
+ about precedence.
520
+ Enabled: false
521
+
522
+ Lint/UnderscorePrefixedVariableName:
523
+ Description: 'Do not use prefix `_` for a variable that is used.'
524
+ Enabled: false
525
+
526
+ Lint/UnneededDisable:
527
+ Description: >-
528
+ Checks for rubocop:disable comments that can be removed.
529
+ Note: this cop is not disabled when disabling all cops.
530
+ It must be explicitly disabled.
531
+ Enabled: false
532
+
533
+ Lint/Void:
534
+ Description: 'Possible use of operator/literal/variable in void context.'
535
+ Enabled: false
536
+
537
+ # Performance
538
+
539
+ Performance/CaseWhenSplat:
540
+ Description: >-
541
+ Place `when` conditions that use splat at the end
542
+ of the list of `when` branches.
543
+ Enabled: false
544
+
545
+ Performance/Count:
546
+ Description: >-
547
+ Use `count` instead of `select...size`, `reject...size`,
548
+ `select...count`, `reject...count`, `select...length`,
549
+ and `reject...length`.
550
+ Enabled: false
551
+
552
+ Performance/Detect:
553
+ Description: >-
554
+ Use `detect` instead of `select.first`, `find_all.first`,
555
+ `select.last`, and `find_all.last`.
556
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
557
+ Enabled: false
558
+
559
+ Performance/FlatMap:
560
+ Description: >-
561
+ Use `Enumerable#flat_map`
562
+ instead of `Enumerable#map...Array#flatten(1)`
563
+ or `Enumberable#collect..Array#flatten(1)`
564
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
565
+ Enabled: false
566
+
567
+ Performance/ReverseEach:
568
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
569
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
570
+ Enabled: false
571
+
572
+ Performance/Sample:
573
+ Description: >-
574
+ Use `sample` instead of `shuffle.first`,
575
+ `shuffle.last`, and `shuffle[Fixnum]`.
576
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
577
+ Enabled: false
578
+
579
+ Performance/Size:
580
+ Description: >-
581
+ Use `size` instead of `count` for counting
582
+ the number of elements in `Array` and `Hash`.
583
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
584
+ Enabled: false
585
+
586
+ Performance/StringReplacement:
587
+ Description: >-
588
+ Use `tr` instead of `gsub` when you are replacing the same
589
+ number of characters. Use `delete` instead of `gsub` when
590
+ you are deleting characters.
591
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
592
+ Enabled: false
593
+
594
+ # Rails
595
+
596
+ Rails/ActionFilter:
597
+ Description: 'Enforces consistent use of action filter methods.'
598
+ Enabled: false
599
+
600
+ Rails/Date:
601
+ Description: >-
602
+ Checks the correct usage of date aware methods,
603
+ such as Date.today, Date.current etc.
604
+ Enabled: false
605
+
606
+ Rails/FindBy:
607
+ Description: 'Prefer find_by over where.first.'
608
+ Enabled: false
609
+
610
+ Rails/FindEach:
611
+ Description: 'Prefer all.find_each over all.find.'
612
+ Enabled: false
613
+
614
+ Rails/HasAndBelongsToMany:
615
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
616
+ Enabled: false
617
+
618
+ Rails/Output:
619
+ Description: 'Checks for calls to puts, print, etc.'
620
+ Enabled: false
621
+
622
+ Rails/ReadWriteAttribute:
623
+ Description: >-
624
+ Checks for read_attribute(:attr) and
625
+ write_attribute(:attr, val).
626
+ Enabled: false
627
+
628
+ Rails/ScopeArgs:
629
+ Description: 'Checks the arguments of ActiveRecord scopes.'
630
+ Enabled: false
631
+
632
+ Rails/TimeZone:
633
+ Description: 'Checks the correct usage of time zone aware methods.'
634
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
635
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
636
+ Enabled: false
637
+
638
+ Rails/Validation:
639
+ Description: 'Use validates :attribute, hash of validations.'
640
+ Enabled: false