nomoon/lunanode

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
require: rubocop-rspec

AllCops:
  TargetRubyVersion: 2.1
  DisplayCopNames: true

# Metrics
Metrics/AbcSize:
  Description: >-
                 A calculated magnitude based on number of assignments,
                 branches, and conditions.
  Reference: 'http://c2.com/cgi/wiki?AbcMetric'
  Enabled: true
  Max: 25

Metrics/BlockNesting:
  Description: 'Avoid excessive block nesting'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
  Enabled: true
  Max: 4

Metrics/ClassLength:
  Description: 'Avoid classes longer than 250 lines of code.'
  Enabled: true
  Max: 250

Metrics/CyclomaticComplexity:
  Description: >-
                 A complexity metric that is strongly correlated to the number
                 of test cases needed to validate a method.
  Enabled: true

Metrics/LineLength:
  Description: 'Limit lines to 80 characters.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
  Enabled: true
  Exclude:
    - lib/lunanode/api_actions/default/*.rb

Metrics/MethodLength:
  Description: 'Avoid methods longer than 30 lines of code.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
  Enabled: true
  Max: 30

Metrics/ModuleLength:
  Description: 'Avoid modules longer than 250 lines of code.'
  Enabled: true
  Max: 250

Metrics/ParameterLists:
  Description: 'Avoid parameter lists longer than three or four parameters.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
  Enabled: true
  Max: 4
  CountKeywordArgs: false

Metrics/PerceivedComplexity:
  Description: >-
                 A complexity metric geared towards measuring complexity for a
                 human reader.
  Enabled: true

# Style
Style/AsciiComments:
  Enabled: false

Style/CollectionMethods:
  Enabled: true

Style/Documentation:
  Enabled: false

Style/FormatString:
  EnforcedStyle: percent

Style/HashSyntax:
  EnforcedStyle: ruby19_no_mixed_keys

Style/MethodCalledOnDoEndBlock:
  Enabled: true

Style/PercentLiteralDelimiters:
  PreferredDelimiters:
    '%i': '[]'
    '%I': '[]'
    '%w': '[]'
    '%W': '[]'

Style/StringLiterals:
  EnforcedStyle: double_quotes

Style/SymbolArray:
  Enabled: true

Style/TrailingCommaInLiteral:
  EnforcedStyleForMultiline: comma