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.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. inherit_from: .rubocop_todo.yml
  2. AllCops:
  3. TargetRubyVersion: 2.4
  4. TargetRailsVersion: 5.2
  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/DotPosition:
  31. Enabled: true
  32. EnforcedStyle: trailing
  33. Layout/EmptyLinesAroundAccessModifier:
  34. Enabled: true
  35. Exclude:
  36. - 'config/initializers/10-patches.rb'
  37. Layout/EmptyLineBetweenDefs:
  38. AllowAdjacentOneLineDefs: true
  39. Layout/FirstHashElementIndentation:
  40. Enabled: true
  41. Exclude:
  42. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  43. Layout/LineLength:
  44. Enabled: true
  45. IgnoredPatterns: ['\A\s+test \".+\" do\z', '\A\s*\#']
  46. Exclude:
  47. - 'db/migrate/0*.rb'
  48. - 'db/migrate/1*.rb'
  49. - 'db/migrate/201*.rb'
  50. - 'db/migrate/20200*.rb'
  51. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  52. Layout/RescueEnsureAlignment:
  53. Enabled: true
  54. Exclude:
  55. - 'db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb'
  56. Layout/SpaceAroundEqualsInParameterDefault:
  57. Enabled: false
  58. Layout/SpaceBeforeSemicolon:
  59. Enabled: true
  60. Exclude:
  61. - 'config/initializers/10-patches.rb'
  62. Layout/SpaceBeforeBlockBraces:
  63. # "space" is used more than "no_space".
  64. # But "no_space" is more natural in one liner.
  65. # str = path.to_s.split(%r{[/\\]}).select{|p| !p.blank?}.join("/")
  66. Enabled: false
  67. Layout/SpaceInsideBlockBraces:
  68. Enabled: true
  69. EnforcedStyle: no_space
  70. SpaceBeforeBlockParameters: false
  71. Exclude:
  72. - 'config/initializers/10-patches.rb'
  73. - 'config/initializers/backtrace_silencers.rb'
  74. - 'db/migrate/007_create_journals.rb'
  75. - 'db/migrate/096_add_commit_access_permission.rb'
  76. - 'db/migrate/20170418090031_add_view_news_to_all_existing_roles.rb'
  77. - 'db/migrate/20170419144536_add_view_messages_to_all_existing_roles.rb'
  78. - 'lib/diff.rb'
  79. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  80. Layout/SpaceInsideHashLiteralBraces:
  81. EnforcedStyle: no_space
  82. Lint/RaiseException:
  83. Enabled: true
  84. Lint/StructNewOverride:
  85. Enabled: true
  86. Lint/SuppressedException:
  87. AllowComments: true
  88. Layout/TrailingWhitespace:
  89. AllowInHeredoc: true
  90. Metrics:
  91. Enabled: false
  92. Naming/AccessorMethodName:
  93. Enabled: false
  94. Naming/VariableNumber:
  95. CheckMethodNames: false
  96. CheckSymbols: false
  97. Naming/BinaryOperatorParameterName:
  98. Enabled: false
  99. Naming/PredicateName:
  100. Enabled: false
  101. Rails/BulkChangeTable:
  102. Exclude:
  103. - 'db/migrate/20120714122200_add_workflows_rule_fields.rb'
  104. - 'db/migrate/20131214094309_remove_custom_fields_min_max_length_default_values.rb'
  105. Rails/HelperInstanceVariable:
  106. Enabled: false
  107. Style/AsciiComments:
  108. Exclude:
  109. # Copyright credit has non ascii character.
  110. # We can not change nor remove it.
  111. - 'app/models/repository/git.rb'
  112. Style/BlockComments:
  113. Enabled: true
  114. Exclude:
  115. - 'lib/diff.rb'
  116. Style/BlockDelimiters:
  117. Enabled: true
  118. Exclude:
  119. - 'db/migrate/007_create_journals.rb'
  120. - 'lib/diff.rb'
  121. Style/EmptyElse:
  122. EnforcedStyle: empty
  123. Style/FormatString:
  124. EnforcedStyle: sprintf
  125. Style/FormatStringToken:
  126. Enabled: false
  127. Style/FrozenStringLiteralComment:
  128. Enabled: true
  129. EnforcedStyle: always
  130. Exclude:
  131. - 'db/**/*.rb'
  132. - 'Gemfile'
  133. - 'Rakefile'
  134. - 'config.ru'
  135. - 'config/additional_environment.rb'
  136. Style/HashEachMethods:
  137. Enabled: true
  138. Style/HashSyntax:
  139. Enabled: true
  140. EnforcedStyle: no_mixed_keys
  141. Style/HashTransformKeys:
  142. Enabled: true
  143. Style/HashTransformValues:
  144. Enabled: true
  145. Style/IdenticalConditionalBranches:
  146. Exclude:
  147. - 'config/initializers/10-patches.rb'
  148. - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
  149. Style/NegatedIfElseCondition:
  150. Enabled: false
  151. Style/RaiseArgs:
  152. Enabled: false
  153. Style/TrailingCommaInArrayLiteral:
  154. Enabled: false
  155. Style/TrailingCommaInHashLiteral:
  156. Enabled: false