Skip to content

Instantly share code, notes, and snippets.

@qickstarter
Created November 12, 2013 20:51
Show Gist options
  • Save qickstarter/7438454 to your computer and use it in GitHub Desktop.
Save qickstarter/7438454 to your computer and use it in GitHub Desktop.
AsciiComments:
Description: Use only ascii symbols in comments.
Enabled: false
AsciiIdentifiers:
Description: Use only ascii symbols in identifiers.
Enabled: false
AssignmentInCondition:
Description: Don't use assignment in conditions.
Enabled: true
AllowSafeAssignment: true
BlockAlignment:
Description: Align block ends correctly.
Enabled: true
Debugger:
Description: Check for debugger calls.
Enabled: true
EmptyEnsure:
Description: Checks for empty ensure block.
Enabled: true
EndAlignment:
Description: Align ends correctly.
Enabled: true
EndInMethod:
Description: END blocks should not be placed inside method definitions.
Enabled: true
EnsureReturn:
Description: Never use return in an ensure block.
Enabled: true
Eval:
Description: The use of eval represents a serious security risk.
Enabled: true
HandleExceptions:
Description: Don't suppress exception.
Enabled: true
LiteralInCondition:
Description: Checks of literals used in conditions.
Enabled: true
Loop:
Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while for post-loop tests.
Enabled: true
ParenthesesAsGroupedExpression:
Description: Checks for method calls with a space before the opening parenthesis.
Enabled: true
RescueException:
Description: Avoid rescuing the Exception class.
Enabled: true
ShadowingOuterLocalVariable:
Description: Do not use the same name as outer local variable for block arguments or block local variables.
Enabled: true
Syntax:
Description: Reports several basic syntax warnings and invalid syntaxes.
Enabled: false
UnreachableCode:
Description: Unreachable code.
Enabled: true
UselessAssignment:
Description: Checks for useless assignment to a local variable.
Enabled: true
UselessComparison:
Description: Checks for comparison of something with itself.
Enabled: true
UselessSetterCall:
Description: Checks for useless setter call to a local variable.
Enabled: true
Void:
Description: Possible use of operator/literal/variable in void context.
Enabled: true
HasAndBelongsToMany:
Description: Prefer has_many :through to has_and_belongs_to_many.
Enabled: true
ReadAttribute:
Description: Prefer self[:attribute] over read_attribute(:attribute).
Enabled: true
Validation:
Description: Use sexy validations.
Enabled: true
# AccessControl:
# Description: Indent private/protected as deep as defs and keep blank lines around them.
# Enabled: true
Alias:
Description: Use alias_method instead of alias.
Enabled: true
AlignArray:
Description: Align the elements of an array literal if they span more than one line.
Enabled: true
AlignHash:
Description: Align the elements of a hash literal if they span more than one line.
Enabled: true
EnforcedHashRocketStyle: key
EnforcedColonStyle: key
AlignParameters:
Description: Align the parameters of a method call if they span more than one line.
Enabled: true
AndOr:
Description: Use &&/|| instead of and/or.
Enabled: true
Attr:
Description: Checks for uses of Module#attr.
Enabled: true
BeginBlock:
Description: Avoid the use of BEGIN blocks.
Enabled: true
BlockComments:
Description: Do not use block comments.
Enabled: true
BlockNesting:
Description: Avoid excessive block nesting
Enabled: true
Max: 3
Blocks:
Description: Avoid using {...} for multi-line blocks (multiline chaining is always ugly). Prefer {...} over do...end for single-line blocks.
Enabled: false
BracesAroundHashParameters:
Description: Enforce braces style inside hash parameters.
Enabled: true
EnforcedStyle: no_braces
CaseEquality:
Description: Avoid explicit use of the case equality operator(===).
Enabled: true
CaseIndentation:
Description: Indent when as deep as case.
Enabled: true
CharacterLiteral:
Description: Checks for uses of character literals.
Enabled: true
ClassAndModuleCamelCase:
Description: Use CamelCase for classes and modules.
Enabled: true
ClassLength:
Description: Avoid classes longer than 100 lines of code.
Enabled: true
CountComments: false
Max: 100
ClassMethods:
Description: Use self when defining module/class methods.
Enabled: true
ClassVars:
Description: Avoid the use of class variables.
Enabled: true
CollectionMethods:
Description: Preferred collection methods.
Enabled: false
PreferredMethods: '{"collect"=>"map", "collect!"=>"map!", "inject"=>"reduce", "detect"=>"find", "find_all"=>"select"}'
ColonMethodCall:
Description: 'Do not use :: for method call.'
Enabled: true
CommentAnnotation:
Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
Enabled: true
Keywords: ["TODO", "FIXME", "OPTIMIZE", "HACK", "REVIEW"]
ConstantName:
Description: Constants should use SCREAMING_SNAKE_CASE.
Enabled: true
DefWithParentheses:
Description: Use def with parentheses when there are arguments.
Enabled: true
DefWithoutParentheses:
Description: Omit the parentheses when the method doesn't accept any arguments.
Enabled: true
Documentation:
Description: Document classes and non-namespace modules.
Enabled: false
DotPosition:
Description: Checks the position of the dot in multi-line method calls.
Enabled: true
Style: leading
EmptyLineBetweenDefs:
Description: Use empty lines between defs.
Enabled: true
AllowAdjacentOneLineDefs: false
EmptyLines:
Description: Don't use several empty lines in a row.
Enabled: false
EmptyLiteral:
Description: Prefer literals to Array.new/Hash.new/String.new.
Enabled: true
Encoding:
Description: Use UTF-8 as the source file encoding.
Enabled: false
EndBlock:
Description: Avoid the use of END blocks.
Enabled: true
EndOfLine:
Description: Use Unix-style line endings.
Enabled: true
EvenOdd:
Description: Favor the use of Fixnum#even? && Fixnum#odd?
Enabled: true
FavorJoin:
Description: Use Array#join instead of Array#*.
Enabled: true
FavorSprintf:
Description: Use sprintf instead of String#%.
Enabled: true
FavorUnlessOverNegatedIf:
Description: Favor unless over if for negative conditions (or control flow or).
Enabled: true
FavorUntilOverNegatedWhile:
Description: Favor until over while for negative conditions.
Enabled: true
FinalNewline:
Description: Checks for a final newline in a source file.
Enabled: true
For:
Description: Prefer each over for.
Enabled: true
GlobalVars:
Description: Do not introduce global variables.
Enabled: true
AllowedVariables: []
HashMethods:
Description: Checks for use of deprecated Hash methods.
Enabled: true
HashSyntax:
Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1, :b => 2 }.'
Enabled: false
EnforcedStyle: ruby19
IfUnlessModifier:
Description: Favor modifier if/unless usage when you have a single-line body.
Enabled: true
IfWithSemicolon:
Description: Never use if x; .... Use the ternary operator instead.
Enabled: true
IndentationWidth:
Description: Use 2 spaces for indentation.
Enabled: true
Lambda:
Description: Use the new lambda literal syntax for single-line blocks.
Enabled: true
LambdaCall:
Description: Use lambda.call(...) instead of lambda.(...).
Enabled: true
EnforcedStyle: call
LeadingCommentSpace:
Description: Comments should start with a space.
Enabled: true
LineLength:
Description: Limit lines to 79 characters.
Enabled: false
Max: 79
MethodCallParentheses:
Description: Do not use parentheses for method calls with no arguments.
Enabled: true
MethodCalledOnDoEndBlock:
Description: Avoid chaining a method call on a do...end block.
Enabled: false
MethodLength:
Description: Avoid methods longer than 10 lines of code.
Enabled: true
CountComments: false
Max: 65
MethodName:
Description: Use the configured style when naming methods.
Enabled: true
EnforcedStyle: snake_case
ModuleFunction:
Description: Checks for usage of `extend self` in modules.
Enabled: true
MultilineBlockChain:
Description: Avoid multi-line chains of blocks.
Enabled: true
MultilineIfThen:
Description: Never use then for multi-line if/unless.
Enabled: true
MultilineTernaryOperator:
Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
Enabled: true
NestedTernaryOperator:
Description: Use one expression per branch in a ternary operator.
Enabled: true
NilComparison:
Description: Prefer x.nil? to x == nil.
Enabled: true
Not:
Description: Use ! instead of not.
Enabled: true
NumericLiterals:
Description: Add underscores to large numeric literals to improve their readability.
Enabled: true
MinDigits: 5
OneLineConditional:
Description: Favor the ternary operator(?:) over if/then/else/end constructs.
Enabled: true
OpMethod:
Description: When defining binary operators, name the argument other.
Enabled: true
ParameterLists:
Description: Avoid parameter lists longer than three or four parameters.
Enabled: true
Max: 5
CountKeywordArgs: true
ParenthesesAroundCondition:
Description: Don't use parentheses around the condition of an if/unless/while.
Enabled: true
AllowSafeAssignment: true
PerlBackrefs:
Description: Avoid Perl-style regex back references.
Enabled: true
Proc:
Description: Use proc instead of Proc.new.
Enabled: true
RaiseArgs:
Description: Checks the arguments passed to raise/fail.
Enabled: true
EnforcedStyle: exploded
ReduceArguments:
Description: Name reduce arguments |a, e| (accumulator, element)
Enabled: true
RedundantBegin:
Description: Don't use begin blocks when they are not needed.
Enabled: true
RedundantException:
Description: Checks for an obsolete RuntimeException argument in raise/fail.
Enabled: true
RedundantReturn:
Description: Don't use return where it's not required.
Enabled: true
AllowMultipleReturnValues: false
RedundantSelf:
Description: Don't use self where it's not needed.
Enabled: false
RegexpLiteral:
Description: Use %r for regular expressions matching more than `MaxSlashes` '/' characters. Use %r only for regular expressions matching more than `MaxSlashes` '/' character.
Enabled: true
MaxSlashes: 1
RescueModifier:
Description: Avoid using rescue in its modifier form.
Enabled: false
Semicolon:
Description: Don't use semicolons to terminate expressions.
Enabled: true
AllowAsExpressionSeparator: false
SignalException:
Description: Checks for proper usage of fail and raise.
Enabled: false
EnforcedStyle: semantic
SingleLineMethods:
Description: Avoid single-line methods.
Enabled: false
AllowIfMethodIsEmpty: true
SpaceAfterColon:
Description: Use spaces after colons.
Enabled: true
SpaceAfterComma:
Description: Use spaces after commas.
Enabled: true
SpaceAfterControlKeyword:
Description: Use spaces after if/elsif/unless/while/until/case/when.
Enabled: true
SpaceAfterMethodName:
Description: Never put a space between a method name and the opening parenthesis.
Enabled: true
SpaceAfterNot:
Description: Tracks redundant space after the ! operator.
Enabled: true
SpaceAfterSemicolon:
Description: Use spaces after semicolons.
Enabled: true
SpaceAroundBlockBraces:
Description: Checks that block braces have or don't have surrounding space. For blocks taking parameters, checks that the left brace has or doesn't have trailing space.
Enabled: true
EnforcedStyle: space_inside_braces
SpaceBeforeBlockParameters: true
SpaceAroundEqualsInParameterDefault:
Description: Use spaces around the = operator when assigning default values in def params.
Enabled: true
SpaceAroundOperators:
Description: Use spaces around operators.
Enabled: true
SpaceBeforeModifierKeyword:
Description: Put a space before the modifier keyword.
Enabled: true
SpaceInsideBrackets:
Description: No spaces after [ or before ].
Enabled: true
SpaceInsideHashLiteralBraces:
Description: Use spaces inside hash literal braces or don't.
Enabled: true
SpaceInsideParens:
Description: No spaces after ( or before ).
Enabled: true
SpecialGlobalVars:
Description: Avoid Perl-style global variables.
Enabled: true
StringLiterals:
Description: Checks if uses of quotes match the configured preference.
Enabled: true
EnforcedStyle: single_quotes
SymbolArray:
Description: Use %i or %I for arrays of symbols.
Enabled: false
SymbolName:
Description: Symbol literals should use snake_case.
Enabled: true
AllowCamelCase: true
Tab:
Description: No hard tabs.
Enabled: true
TrailingBlankLines:
Description: Checks for superflous trailing blank lines.
Enabled: false
TrailingWhitespace:
Description: Avoid trailing whitespace.
Enabled: true
TrivialAccessors:
Description: Prefer attr_* methods to trivial readers/writers.
Enabled: true
ExactNameMatch: false
AllowPredicates: false
Whitelist: ["to_ary", "to_a", "to_c", "to_enum", "to_h", "to_hash", "to_i", "to_int", "to_io", "to_open", "to_path", "to_proc", "to_r", "to_regexp", "to_str", "to_s", "to_sym"]
UnlessElse:
Description: Never use unless with else. Rewrite these with the positive case first.
Enabled: true
VariableInterpolation:
Description: Don't interpolate global, instance and class variables directly in strings.
Enabled: true
VariableName:
Description: Use the configured style when naming variables.
Enabled: true
EnforcedStyle: snake_case
WhenThen:
Description: Use when x then ... for one-line cases.
Enabled: true
WhileUntilDo:
Description: Checks for redundant do after while or until.
Enabled: true
WhileUntilModifier:
Description: Favor modifier while/until usage when you have a single-line body.
Enabled: true
WordArray:
Description: Use %w or %W for arrays of words.
Enabled: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment