AllCops: Include: - 'lib/**/*' Exclude: - '**/*.erb' - 'spec/*' - 'spec/**/*' - 'vendor/**/*' - 'benchmarks/*' - 'profile/*' DisplayCopNames: true TargetRubyVersion: 2.0 # Preferred codebase style --------------------------------------------- Style/ExtraSpacing: AllowForAlignment: true Style/FormatString: EnforcedStyle: percent Style/AndOr: EnforcedStyle: conditionals Style/SpaceAroundEqualsInParameterDefault: EnforcedStyle: no_space Style/SpaceInsideBlockBraces: EnforcedStyle: space Style/SpaceInsideHashLiteralBraces: EnforcedStyle: no_space Style/AlignParameters: EnforcedStyle: with_fixed_indentation Style/EmptyElse: EnforcedStyle: empty Metrics/LineLength: Max: 120 Metrics/ModuleLength: Max: 200 Metrics/ClassLength: Max: 200 Style/ParallelAssignment: Enabled: false Style/DoubleNegation: Enabled: false Style/SingleLineBlockParams: Enabled: false Style/PerlBackrefs: Enabled: false Style/SpaceAfterComma: Enabled: false Style/SpaceAroundOperators: Enabled: false Style/EmptyCaseCondition: Enabled: false Style/MultilineBlockChain: Enabled: false # Neither of prefered styles are good enough :( Style/BlockDelimiters: Enabled: false # Current preferred metrics -------------------------------------------- # Better values are encouraged, but not required. Metrics/AbcSize: Max: 20 Metrics/MethodLength: Max: 15 Metrics/CyclomaticComplexity: Max: 7 # TODO ----------------------------------------------------------------- Style/Documentation: Enabled: false # To discuss and decide ------------------------------------------------ # FIXME: in fact, rescue modifier is rarely a good choice. # But currently I can't fully grasp the three places they are used. # So, leaving them intact. - zverok, 2016-05-07 Style/RescueModifier: Exclude: - 'lib/daru/accessors/gsl_wrapper.rb' - 'lib/daru/dataframe.rb' - 'lib/daru/io/sql_data_source.rb' # FIXME: once we should enable and fix it - zverok, 2016-05-07 Style/Alias: Enabled: false # FIXME: should decide about this. # Personally I prefer (as most of Ruby community) to use parens, but # we also can enforce style to NOT using them. Yet it definitely should # be only one style. Current codebase uses ~400 method defs without and # ~ 100 method defs with them. - zverok, 2016-05-07 Style/MethodDefParentheses: Enabled: false # Should be fixed, but require change of public API -------------------- # Bans methods like `has_missing_data?`, `is_number?` and so on - started # with unnecessary has_ or is_. Style/PredicateName: Exclude: - 'lib/daru/dataframe.rb' - 'lib/daru/monkeys.rb' - 'lib/daru/vector.rb' Security/MarshalLoad: Enabled: false