You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.rubocop.yml 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. inherit_from: .rubocop_todo.yml
  2. AllCops:
  3. TargetRubyVersion: 2.6
  4. TargetRailsVersion: 6.1
  5. NewCops: enable
  6. Exclude:
  7. - '**/vendor/**/*'
  8. - '**/tmp/**/*'
  9. - '**/bin/**/*'
  10. - '**/plugins/**/*'
  11. - '**/extra/**/*'
  12. - '**/lib/generators/**/templates/*'
  13. - '**/lib/tasks/**/*'
  14. - '**/files/**/*'
  15. - 'db/schema.rb'
  16. # Enable extensions
  17. require:
  18. - rubocop-performance
  19. - rubocop-rails
  20. # Rules for Redmine
  21. Bundler/OrderedGems:
  22. Enabled: false
  23. Layout/CaseIndentation:
  24. Exclude:
  25. - 'config/initializers/10-patches.rb'
  26. Layout/ClosingParenthesisIndentation:
  27. Enabled: true
  28. Exclude:
  29. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  30. Layout/EmptyLinesAroundAccessModifier:
  31. Enabled: true
  32. Exclude:
  33. - 'config/initializers/10-patches.rb'
  34. Layout/EmptyLineBetweenDefs:
  35. AllowAdjacentOneLineDefs: true
  36. Layout/FirstHashElementIndentation:
  37. Enabled: true
  38. Exclude:
  39. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  40. Layout/LineLength:
  41. Enabled: true
  42. AllowedPatterns: ['\A\s+test \".+\" do\z', '\A\s*\#']
  43. Exclude:
  44. - 'db/migrate/0*.rb'
  45. - 'db/migrate/1*.rb'
  46. - 'db/migrate/201*.rb'
  47. - 'db/migrate/20200*.rb'
  48. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  49. Layout/RescueEnsureAlignment:
  50. Enabled: true
  51. Exclude:
  52. - 'db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb'
  53. Layout/SpaceAroundEqualsInParameterDefault:
  54. Enabled: false
  55. Layout/SpaceBeforeSemicolon:
  56. Enabled: true
  57. Exclude:
  58. - 'config/initializers/10-patches.rb'
  59. Layout/SpaceBeforeBlockBraces:
  60. # "space" is used more than "no_space".
  61. # But "no_space" is more natural in one liner.
  62. # str = path.to_s.split(%r{[/\\]}).select{|p| !p.blank?}.join("/")
  63. Enabled: false
  64. Layout/SpaceInsideBlockBraces:
  65. Enabled: false
  66. Layout/SpaceInsideHashLiteralBraces:
  67. Enabled: false
  68. Lint/RaiseException:
  69. Enabled: true
  70. Lint/StructNewOverride:
  71. Enabled: true
  72. Lint/SuppressedException:
  73. AllowComments: true
  74. Layout/LineContinuationLeadingSpace:
  75. Enabled: false
  76. Layout/TrailingWhitespace:
  77. AllowInHeredoc: true
  78. Metrics:
  79. Enabled: false
  80. Naming/AccessorMethodName:
  81. Enabled: false
  82. Naming/VariableNumber:
  83. CheckMethodNames: false
  84. CheckSymbols: false
  85. Naming/BinaryOperatorParameterName:
  86. Enabled: false
  87. Naming/PredicateName:
  88. Enabled: false
  89. Rails/BulkChangeTable:
  90. Exclude:
  91. - 'db/migrate/20120714122200_add_workflows_rule_fields.rb'
  92. - 'db/migrate/20131214094309_remove_custom_fields_min_max_length_default_values.rb'
  93. Rails/CompactBlank:
  94. Enabled: false
  95. Rails/Delegate:
  96. Enabled: false
  97. Rails/EnvironmentVariableAccess:
  98. Enabled: false
  99. Rails/FilePath:
  100. Enabled: false
  101. Rails/HelperInstanceVariable:
  102. Enabled: false
  103. Rails/SquishedSQLHeredocs:
  104. Enabled: false
  105. Style/AsciiComments:
  106. Exclude:
  107. # Copyright credit has non ascii character.
  108. # We can not change nor remove it.
  109. - 'app/models/repository/git.rb'
  110. Style/BlockComments:
  111. Enabled: true
  112. Exclude:
  113. - 'lib/redmine/string_array_diff/diff.rb'
  114. - 'lib/redmine/string_array_diff/diffable.rb'
  115. Style/BlockDelimiters:
  116. Enabled: true
  117. Exclude:
  118. - 'db/migrate/007_create_journals.rb'
  119. - 'lib/redmine/string_array_diff/diff.rb'
  120. - 'lib/redmine/string_array_diff/diffable.rb'
  121. Style/FetchEnvVar:
  122. Enabled: false
  123. Style/EmptyElse:
  124. EnforcedStyle: empty
  125. Style/FormatString:
  126. EnforcedStyle: sprintf
  127. Style/FormatStringToken:
  128. Enabled: false
  129. Style/FrozenStringLiteralComment:
  130. Enabled: true
  131. EnforcedStyle: always
  132. Exclude:
  133. - 'db/**/*.rb'
  134. - 'Gemfile'
  135. - 'Rakefile'
  136. - 'config.ru'
  137. - 'config/additional_environment.rb'
  138. Style/GlobalStdStream:
  139. Enabled: false
  140. Style/HashEachMethods:
  141. Enabled: true
  142. Style/HashSyntax:
  143. Enabled: true
  144. EnforcedStyle: no_mixed_keys
  145. Style/HashTransformKeys:
  146. Enabled: true
  147. Style/HashTransformValues:
  148. Enabled: true
  149. Style/IdenticalConditionalBranches:
  150. Exclude:
  151. - 'config/initializers/10-patches.rb'
  152. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  153. Style/NegatedIfElseCondition:
  154. Enabled: false
  155. Style/RaiseArgs:
  156. Enabled: false
  157. Style/Semicolon:
  158. Enabled: false
  159. Style/SlicingWithRange:
  160. Enabled: false
  161. Style/SoleNestedConditional:
  162. Enabled: false
  163. Style/TernaryParentheses:
  164. Enabled: false
  165. Style/TrailingCommaInArrayLiteral:
  166. Enabled: false
  167. Style/TrailingCommaInHashLiteral:
  168. Enabled: false