.rubocop.yml
# use the shared Yast defaults
inherit_from:
/usr/share/YaST2/data/devtools/data/rubocop-1.24.1_yast_style.yml
Metrics/AbcSize:
Max: 446
Metrics/BlockNesting:
Max: 5
Metrics/ClassLength:
Max: 2711
Metrics/ModuleLength:
Max: 270
Metrics/CyclomaticComplexity:
Max: 59
Layout/LineLength:
Max: 274
Metrics/MethodLength:
Max: 980
Metrics/ParameterLists:
Max: 11
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
Max: 877
Exclude:
- "library/*/test/**/*_test.rb"
Metrics/PerceivedComplexity:
Max: 70
# this needs more testing if we can have frozen string literals
Style/FrozenStringLiteralComment:
Enabled: false
Naming/AccessorMethodName:
# keep backward compatibility, but do not allow new code to be non-ruby style
Exclude:
- library/systemd/src/modules/systemd_target.rb
Naming/ClassAndModuleCamelCase:
# UI_ID module is not camel case
Exclude:
- "library/packages/src/modules/SlideShow.rb"
Style/ClassVars:
# We really need the class variables in SuSEFirewall modules
Exclude:
- "library/network/src/modules/SuSEFirewall.rb"
# ensure new code is properly documented
Style/Documentation:
Include:
- "library/*/src/lib/**/*.rb"
Naming/FileName:
Include:
- "library/*/src/lib/**/*.rb"
Naming/MethodName:
Include:
- "library/*/src/lib/**/*.rb"
Exclude:
- "library/network/src/lib/network/susefirewall.rb"
- "library/network/src/lib/network/susefirewallservices.rb"
- "library/network/src/lib/network/susefirewalld.rb"
- "library/network/src/lib/network/susefirewalldservices.rb"
- "library/network/src/lib/network/susefirewall2.rb"
- "library/network/src/lib/network/susefirewall2services.rb"
Style/Next:
# skip this check for SuSEFirewall modules since it forces us to
# refactor the code in a sub-optimal way.
Exclude:
- "library/network/src/lib/network/susefirewalld.rb"
# keep it as it is part of API for old code
Naming/PredicateName:
Include:
- "library/*/src/lib/**/*.rb"
# for old code keep it as often methods names are wrong and part of API
Style/TrivialAccessors:
Include:
- "library/*/src/lib/**/*.rb"
Naming/VariableName:
Include:
- "library/*/src/lib/**/*.rb"
Exclude:
- "library/network/src/lib/network/susefirewall.rb"
- "library/network/src/lib/network/susefirewalld.rb"
- "library/network/src/lib/network/susefirewall2.rb"
- "library/network/src/lib/network/susefirewall2services.rb"
# this module provides API for others, so do not change existing API
Style/OptionalBooleanParameter:
Enabled: false