AllCops: Include: - 'Gemfile' - 'Rakefile' - 'http.gemspec' # Avoid long parameter lists ParameterLists: Max: 3 CountKeywordArgs: true MethodLength: CountComments: false Max: 31 # TODO: lower to 15 ClassLength: CountComments: false Max: 100 CyclomaticComplexity: Max: 13 # TODO: lower to 6 # Avoid more than `Max` levels of nesting. BlockNesting: Max: 3 # Do not force public/protected/private keyword to be indented at the same # level as the def keyword. My personal preference is to outdent these keywords # because I think when scanning code it makes it easier to identify the # sections of code and visually separate them. When the keyword is at the same # level I think it sort of blends in with the def keywords and makes it harder # to scan the code and see where the sections are. AccessModifierIndentation: Enabled: false # Limit line length LineLength: Enabled: false # Disable documentation checking until a class needs to be documented once Documentation: Enabled: false # Not all trivial readers/writers can be defined with attr_* methods TrivialAccessors: Enabled: false # Enforce Ruby 1.8-compatible hash syntax HashSyntax: EnforcedStyle: hash_rockets # No spaces inside hash literals SpaceInsideHashLiteralBraces: EnforcedStyle: no_space # Allow dots at the end of lines DotPosition: Enabled: false # Don't require magic comment at the top of every file Encoding: Enabled: false # Enforce outdenting of access modifiers (i.e. public, private, protected) AccessModifierIndentation: EnforcedStyle: outdent EmptyLinesAroundAccessModifier: Enabled: true # Align ends correctly EndAlignment: AlignWith: variable # Indentation of when/else CaseIndentation: IndentWhenRelativeTo: end IndentOneStep: false # Use the old lambda literal syntax Lambda: Enabled: false DoubleNegation: Enabled: false PercentLiteralDelimiters: PreferredDelimiters: '%': () '%i': () '%q': () '%Q': () '%r': '{}' '%s': () '%w': '[]' '%W': '[]' '%x': () Semicolon: Exclude: - 'spec/support/' # Do not force first argument to be separated with exactly single space. # My (ixti) personal preference is to align code in columns when it makes # sense: # # module HTTP # module MimeType # class JSON < Adapter # register_adapter 'application/json', JSON # register_alias 'application/json', :json # end # end # end SingleSpaceBeforeFirstArg: Enabled: false