This commit is contained in:
Abinoam P. Marques Jr 2020-06-30 04:24:27 +03:00 committed by GitHub
commit d1ee36a193
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1397 additions and 1156 deletions

View File

@ -1,1156 +1 @@
AllCops:
DisabledByDefault: true
#################### Lint ################################
Lint/AmbiguousOperator:
Description: >-
Checks for ambiguous operators in the first argument of a
method invocation without parentheses.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
Enabled: true
Lint/AmbiguousRegexpLiteral:
Description: >-
Checks for ambiguous regexp literals in the first argument of
a method invocation without parenthesis.
Enabled: true
Lint/AssignmentInCondition:
Description: "Don't use assignment in conditions."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
Enabled: true
Lint/BlockAlignment:
Description: 'Align block ends correctly.'
Enabled: true
Lint/CircularArgumentReference:
Description: "Don't refer to the keyword argument in the default value."
Enabled: true
Lint/ConditionPosition:
Description: >-
Checks for condition placed in a confusing position relative to
the keyword.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
Enabled: true
Lint/Debugger:
Description: 'Check for debugger calls.'
Enabled: true
Lint/DefEndAlignment:
Description: 'Align ends corresponding to defs correctly.'
Enabled: true
Lint/DeprecatedClassMethods:
Description: 'Check for deprecated class method calls.'
Enabled: true
Lint/DuplicateMethods:
Description: 'Check for duplicate methods calls.'
Enabled: true
Lint/EachWithObjectArgument:
Description: 'Check for immutable argument given to each_with_object.'
Enabled: true
Lint/ElseLayout:
Description: 'Check for odd code arrangement in an else block.'
Enabled: true
Lint/EmptyEnsure:
Description: 'Checks for empty ensure block.'
Enabled: true
Lint/EmptyInterpolation:
Description: 'Checks for empty string interpolation.'
Enabled: true
Lint/EndAlignment:
Description: 'Align ends correctly.'
Enabled: true
Lint/EndInMethod:
Description: 'END blocks should not be placed inside method definitions.'
Enabled: true
Lint/EnsureReturn:
Description: 'Do not use return in an ensure block.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
Enabled: true
Lint/Eval:
Description: 'The use of eval represents a serious security risk.'
Enabled: true
Lint/FormatParameterMismatch:
Description: 'The number of parameters to format/sprint must match the fields.'
Enabled: true
Lint/HandleExceptions:
Description: "Don't suppress exception."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
Enabled: true
Lint/InvalidCharacterLiteral:
Description: >-
Checks for invalid character literals with a non-escaped
whitespace character.
Enabled: true
Lint/LiteralInCondition:
Description: 'Checks of literals used in conditions.'
Enabled: true
Lint/LiteralInInterpolation:
Description: 'Checks for literals used in interpolation.'
Enabled: true
Lint/Loop:
Description: >-
Use Kernel#loop with break rather than begin/end/until or
begin/end/while for post-loop tests.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
Enabled: true
Lint/NestedMethodDefinition:
Description: 'Do not use nested method definitions.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
Enabled: true
Lint/NonLocalExitFromIterator:
Description: 'Do not use return in iterator to cause non-local exit.'
Enabled: true
Lint/ParenthesesAsGroupedExpression:
Description: >-
Checks for method calls with a space before the opening
parenthesis.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
Enabled: true
Lint/RequireParentheses:
Description: >-
Use parentheses in the method call to avoid confusion
about precedence.
Enabled: true
Lint/RescueException:
Description: 'Avoid rescuing the Exception class.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
Enabled: true
Lint/ShadowingOuterLocalVariable:
Description: >-
Do not use the same name as outer local variable
for block arguments or block local variables.
Enabled: true
Lint/StringConversionInInterpolation:
Description: 'Checks for Object#to_s usage in string interpolation.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
Enabled: true
Lint/UnderscorePrefixedVariableName:
Description: 'Do not use prefix `_` for a variable that is used.'
Enabled: true
Lint/UnneededDisable:
Description: >-
Checks for rubocop:disable comments that can be removed.
Note: this cop is not disabled when disabling all cops.
It must be explicitly disabled.
Enabled: true
Lint/UnusedBlockArgument:
Description: 'Checks for unused block arguments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
Enabled: true
Lint/UnusedMethodArgument:
Description: 'Checks for unused method arguments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
Enabled: true
Lint/UnreachableCode:
Description: 'Unreachable code.'
Enabled: true
Lint/UselessAccessModifier:
Description: 'Checks for useless access modifiers.'
Enabled: true
Lint/UselessAssignment:
Description: 'Checks for useless assignment to a local variable.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
Enabled: true
Lint/UselessComparison:
Description: 'Checks for comparison of something with itself.'
Enabled: true
Lint/UselessElseWithoutRescue:
Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
Enabled: true
Lint/UselessSetterCall:
Description: 'Checks for useless setter call to a local variable.'
Enabled: true
Lint/Void:
Description: 'Possible use of operator/literal/variable in void context.'
Enabled: true
###################### Metrics ####################################
Metrics/AbcSize:
Description: >-
A calculated magnitude based on number of assignments,
branches, and conditions.
Reference: 'http://c2.com/cgi/wiki?AbcMetric'
Enabled: false
Max: 20
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: false
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
Metrics/PerceivedComplexity:
Description: >-
A complexity metric geared towards measuring complexity for a
human reader.
Enabled: false
##################### Performance #############################
Performance/Count:
Description: >-
Use `count` instead of `select...size`, `reject...size`,
`select...count`, `reject...count`, `select...length`,
and `reject...length`.
Enabled: true
Performance/Detect:
Description: >-
Use `detect` instead of `select.first`, `find_all.first`,
`select.last`, and `find_all.last`.
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
Enabled: true
Performance/FlatMap:
Description: >-
Use `Enumerable#flat_map`
instead of `Enumerable#map...Array#flatten(1)`
or `Enumberable#collect..Array#flatten(1)`
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
Enabled: true
EnabledForFlattenWithoutParams: false
# If enabled, this cop will warn about usages of
# `flatten` being called without any parameters.
# This can be dangerous since `flat_map` will only flatten 1 level, and
# `flatten` without any parameters can flatten multiple levels.
Performance/ReverseEach:
Description: 'Use `reverse_each` instead of `reverse.each`.'
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
Enabled: true
Performance/Sample:
Description: >-
Use `sample` instead of `shuffle.first`,
`shuffle.last`, and `shuffle[Fixnum]`.
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
Enabled: true
Performance/Size:
Description: >-
Use `size` instead of `count` for counting
the number of elements in `Array` and `Hash`.
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
Enabled: true
Performance/StringReplacement:
Description: >-
Use `tr` instead of `gsub` when you are replacing the same
number of characters. Use `delete` instead of `gsub` when
you are deleting characters.
Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
Enabled: true
##################### Rails ##################################
Rails/ActionFilter:
Description: 'Enforces consistent use of action filter methods.'
Enabled: false
Rails/Date:
Description: >-
Checks the correct usage of date aware methods,
such as Date.today, Date.current etc.
Enabled: false
Rails/Delegate:
Description: 'Prefer delegate method for delegations.'
Enabled: false
Rails/FindBy:
Description: 'Prefer find_by over where.first.'
Enabled: false
Rails/FindEach:
Description: 'Prefer all.find_each over all.find.'
Enabled: false
Rails/HasAndBelongsToMany:
Description: 'Prefer has_many :through to has_and_belongs_to_many.'
Enabled: false
Rails/Output:
Description: 'Checks for calls to puts, print, etc.'
Enabled: false
Rails/ReadWriteAttribute:
Description: >-
Checks for read_attribute(:attr) and
write_attribute(:attr, val).
Enabled: false
Rails/ScopeArgs:
Description: 'Checks the arguments of ActiveRecord scopes.'
Enabled: false
Rails/TimeZone:
Description: 'Checks the correct usage of time zone aware methods.'
StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
Enabled: false
Rails/Validation:
Description: 'Use validates :attribute, hash of validations.'
Enabled: false
################## Style #################################
Style/AccessModifierIndentation:
Description: Check indentation of private/protected visibility modifiers.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
Enabled: false
Style/AccessorMethodName:
Description: Check the naming of accessor methods for get_/set_.
Enabled: false
Style/Alias:
Description: 'Use alias_method instead of alias.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
Enabled: false
Style/AlignArray:
Description: >-
Align the elements of an array literal if they span more than
one line.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
Enabled: false
Style/AlignHash:
Description: >-
Align the elements of a hash literal if they span more than
one line.
Enabled: false
Style/AlignParameters:
Description: >-
Align the parameters of a method call if they span more
than one line.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
Enabled: false
Style/AndOr:
Description: 'Use &&/|| instead of and/or.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
Enabled: false
Style/ArrayJoin:
Description: 'Use Array#join instead of Array#*.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
Enabled: false
Style/AsciiComments:
Description: 'Use only ascii symbols in comments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
Enabled: false
Style/AsciiIdentifiers:
Description: 'Use only ascii symbols in identifiers.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
Enabled: false
Style/Attr:
Description: 'Checks for uses of Module#attr.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
Enabled: false
Style/BeginBlock:
Description: 'Avoid the use of BEGIN blocks.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
Enabled: false
Style/BarePercentLiterals:
Description: 'Checks if usage of %() or %Q() matches configuration.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
Enabled: false
Style/BlockComments:
Description: 'Do not use block comments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
Enabled: false
Style/BlockEndNewline:
Description: 'Put end statement of multiline block on its own line.'
Enabled: false
Style/BlockDelimiters:
Description: >-
Avoid using {...} for multi-line blocks (multiline chaining is
always ugly).
Prefer {...} over do...end for single-line blocks.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
Enabled: false
Style/BracesAroundHashParameters:
Description: 'Enforce braces style around hash parameters.'
Enabled: false
Style/CaseEquality:
Description: 'Avoid explicit use of the case equality operator(===).'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
Enabled: false
Style/CaseIndentation:
Description: 'Indentation of when in a case/when/[else/]end.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
Enabled: false
Style/CharacterLiteral:
Description: 'Checks for uses of character literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
Enabled: false
Style/ClassAndModuleCamelCase:
Description: 'Use CamelCase for classes and modules.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
Enabled: false
Style/ClassAndModuleChildren:
Description: 'Checks style of children classes and modules.'
Enabled: false
Style/ClassCheck:
Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
Enabled: false
Style/ClassMethods:
Description: 'Use self when defining module/class methods.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
Enabled: false
Style/ClassVars:
Description: 'Avoid the use of class variables.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
Enabled: false
Style/ClosingParenthesisIndentation:
Description: 'Checks the indentation of hanging closing parentheses.'
Enabled: false
Style/ColonMethodCall:
Description: 'Do not use :: for method call.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
Enabled: false
Style/CommandLiteral:
Description: 'Use `` or %x around command literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
Enabled: false
Style/CommentAnnotation:
Description: 'Checks formatting of annotation comments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
Enabled: false
Style/CommentIndentation:
Description: 'Indentation of comments.'
Enabled: false
Style/ConstantName:
Description: 'Constants should use SCREAMING_SNAKE_CASE.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
Enabled: false
Style/DefWithParentheses:
Description: 'Use def with parentheses when there are arguments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
Enabled: false
Style/PreferredHashMethods:
Description: 'Checks for use of deprecated Hash methods.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
Enabled: false
Style/Documentation:
Description: 'Document classes and non-namespace modules.'
Enabled: false
Style/DotPosition:
Description: 'Checks the position of the dot in multi-line method calls.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
Enabled: false
Style/DoubleNegation:
Description: 'Checks for uses of double negation (!!).'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
Enabled: false
Style/EachWithObject:
Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
Enabled: false
Style/ElseAlignment:
Description: 'Align elses and elsifs correctly.'
Enabled: false
Style/EmptyElse:
Description: 'Avoid empty else-clauses.'
Enabled: false
Style/EmptyLineBetweenDefs:
Description: 'Use empty lines between defs.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
Enabled: false
Style/EmptyLines:
Description: "Don't use several empty lines in a row."
Enabled: false
Style/EmptyLinesAroundAccessModifier:
Description: "Keep blank lines around access modifiers."
Enabled: false
Style/EmptyLinesAroundBlockBody:
Description: "Keeps track of empty lines around block bodies."
Enabled: false
Style/EmptyLinesAroundClassBody:
Description: "Keeps track of empty lines around class bodies."
Enabled: false
Style/EmptyLinesAroundModuleBody:
Description: "Keeps track of empty lines around module bodies."
Enabled: false
Style/EmptyLinesAroundMethodBody:
Description: "Keeps track of empty lines around method bodies."
Enabled: false
Style/EmptyLiteral:
Description: 'Prefer literals to Array.new/Hash.new/String.new.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
Enabled: false
Style/EndBlock:
Description: 'Avoid the use of END blocks.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
Enabled: false
Style/EndOfLine:
Description: 'Use Unix-style line endings.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
Enabled: false
Style/EvenOdd:
Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
Enabled: false
Style/ExtraSpacing:
Description: 'Do not use unnecessary spacing.'
Enabled: false
Style/FileName:
Description: 'Use snake_case for source file names.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
Enabled: false
Style/InitialIndentation:
Description: >-
Checks the indentation of the first non-blank non-comment line in a file.
Enabled: false
Style/FirstParameterIndentation:
Description: 'Checks the indentation of the first parameter in a method call.'
Enabled: false
Style/FlipFlop:
Description: 'Checks for flip flops'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
Enabled: false
Style/For:
Description: 'Checks use of for or each in multiline loops.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
Enabled: false
Style/FormatString:
Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
Enabled: false
Style/GlobalVars:
Description: 'Do not introduce global variables.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
Enabled: false
Style/GuardClause:
Description: 'Check for conditionals that can be replaced with guard clauses'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
Enabled: false
Style/HashSyntax:
Description: >-
Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
{ :a => 1, :b => 2 }.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
Enabled: false
Style/IfUnlessModifier:
Description: >-
Favor modifier if/unless usage when you have a
single-line body.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
Enabled: false
Style/IfWithSemicolon:
Description: 'Do not use if x; .... Use the ternary operator instead.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
Enabled: false
Style/IndentationConsistency:
Description: 'Keep indentation straight.'
Enabled: false
Style/IndentationWidth:
Description: 'Use 2 spaces for indentation.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
Enabled: false
Style/IndentArray:
Description: >-
Checks the indentation of the first element in an array
literal.
Enabled: false
Style/IndentHash:
Description: 'Checks the indentation of the first key in a hash literal.'
Enabled: false
Style/InfiniteLoop:
Description: 'Use Kernel#loop for infinite loops.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
Enabled: false
Style/Lambda:
Description: 'Use the new lambda literal syntax for single-line blocks.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
Enabled: false
Style/LambdaCall:
Description: 'Use lambda.call(...) instead of lambda.(...).'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
Enabled: false
Style/LeadingCommentSpace:
Description: 'Comments should start with a space.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
Enabled: false
Style/LineEndConcatenation:
Description: >-
Use \ instead of + or << to concatenate two string literals at
line end.
Enabled: false
Style/MethodCallParentheses:
Description: 'Do not use parentheses for method calls with no arguments.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
Enabled: false
Style/MethodDefParentheses:
Description: >-
Checks if the method definitions have or don't have
parentheses.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
Enabled: false
Style/MethodName:
Description: 'Use the configured style when naming methods.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
Enabled: false
Style/ModuleFunction:
Description: 'Checks for usage of `extend self` in modules.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
Enabled: false
Style/MultilineBlockChain:
Description: 'Avoid multi-line chains of blocks.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
Enabled: false
Style/MultilineBlockLayout:
Description: 'Ensures newlines after multiline block do statements.'
Enabled: false
Style/MultilineIfThen:
Description: 'Do not use then for multi-line if/unless.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
Enabled: false
Style/MultilineOperationIndentation:
Description: >-
Checks indentation of binary operations that span more than
one line.
Enabled: false
Style/MultilineTernaryOperator:
Description: >-
Avoid multi-line ?: (the ternary operator);
use if/unless instead.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
Enabled: false
Style/NegatedIf:
Description: >-
Favor unless over if for negative conditions
(or control flow or).
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
Enabled: false
Style/NegatedWhile:
Description: 'Favor until over while for negative conditions.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
Enabled: false
Style/NestedTernaryOperator:
Description: 'Use one expression per branch in a ternary operator.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
Enabled: false
Style/Next:
Description: 'Use `next` to skip iteration instead of a condition at the end.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
Enabled: false
Style/NilComparison:
Description: 'Prefer x.nil? to x == nil.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
Enabled: false
Style/NonNilCheck:
Description: 'Checks for redundant nil checks.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
Enabled: false
Style/Not:
Description: 'Use ! instead of not.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
Enabled: false
Style/NumericLiterals:
Description: >-
Add underscores to large numeric literals to improve their
readability.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
Enabled: false
Style/OneLineConditional:
Description: >-
Favor the ternary operator(?:) over
if/then/else/end constructs.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
Enabled: false
Style/OpMethod:
Description: 'When defining binary operators, name the argument other.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
Enabled: false
Style/OptionalArguments:
Description: >-
Checks for optional arguments that do not appear at the end
of the argument list
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
Enabled: false
Style/ParallelAssignment:
Description: >-
Check for simple usages of parallel assignment.
It will only warn when the number of variables
matches on both sides of the assignment.
This also provides performance benefits
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
Enabled: false
Style/ParenthesesAroundCondition:
Description: >-
Don't use parentheses around the condition of an
if/unless/while.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
Enabled: false
Style/PercentLiteralDelimiters:
Description: 'Use `%`-literal delimiters consistently'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
Enabled: false
Style/PercentQLiterals:
Description: 'Checks if uses of %Q/%q match the configured preference.'
Enabled: false
Style/PerlBackrefs:
Description: 'Avoid Perl-style regex back references.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
Enabled: false
Style/PredicateName:
Description: 'Check the names of predicate methods.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
Enabled: false
Style/Proc:
Description: 'Use proc instead of Proc.new.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
Enabled: false
Style/RaiseArgs:
Description: 'Checks the arguments passed to raise/fail.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
Enabled: false
Style/RedundantBegin:
Description: "Don't use begin blocks when they are not needed."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
Enabled: false
Style/RedundantException:
Description: "Checks for an obsolete RuntimeException argument in raise/fail."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
Enabled: false
Style/RedundantReturn:
Description: "Don't use return where it's not required."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
Enabled: false
Style/RedundantSelf:
Description: "Don't use self where it's not needed."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
Enabled: false
Style/RegexpLiteral:
Description: 'Use / or %r around regular expressions.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
Enabled: false
Style/RescueEnsureAlignment:
Description: 'Align rescues and ensures correctly.'
Enabled: false
Style/RescueModifier:
Description: 'Avoid using rescue in its modifier form.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
Enabled: false
Style/SelfAssignment:
Description: >-
Checks for places where self-assignment shorthand should have
been used.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
Enabled: false
Style/Semicolon:
Description: "Don't use semicolons to terminate expressions."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
Enabled: false
Style/SignalException:
Description: 'Checks for proper usage of fail and raise.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
Enabled: false
Style/SingleLineBlockParams:
Description: 'Enforces the names of some block params.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
Enabled: false
Style/SingleLineMethods:
Description: 'Avoid single-line methods.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
Enabled: false
Style/SpaceBeforeFirstArg:
Description: >-
Checks that exactly one space is used between a method name
and the first argument for method calls without parentheses.
Enabled: true
Style/SpaceAfterColon:
Description: 'Use spaces after colons.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
Enabled: false
Style/SpaceAfterComma:
Description: 'Use spaces after commas.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
Enabled: false
Style/SpaceAroundKeyword:
Description: 'Use spaces around keywords.'
Enabled: false
Style/SpaceAfterMethodName:
Description: >-
Do not put a space between a method name and the opening
parenthesis in a method definition.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
Enabled: false
Style/SpaceAfterNot:
Description: Tracks redundant space after the ! operator.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
Enabled: false
Style/SpaceAfterSemicolon:
Description: 'Use spaces after semicolons.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
Enabled: false
Style/SpaceBeforeBlockBraces:
Description: >-
Checks that the left block brace has or doesn't have space
before it.
Enabled: false
Style/SpaceBeforeComma:
Description: 'No spaces before commas.'
Enabled: false
Style/SpaceBeforeComment:
Description: >-
Checks for missing space between code and a comment on the
same line.
Enabled: false
Style/SpaceBeforeSemicolon:
Description: 'No spaces before semicolons.'
Enabled: false
Style/SpaceInsideBlockBraces:
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: false
Style/SpaceAroundBlockParameters:
Description: 'Checks the spacing inside and after block parameters pipes.'
Enabled: false
Style/SpaceAroundEqualsInParameterDefault:
Description: >-
Checks that the equals signs in parameter default assignments
have or don't have surrounding space depending on
configuration.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
Enabled: false
Style/SpaceAroundOperators:
Description: 'Use a single space around operators.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
Enabled: false
Style/SpaceInsideBrackets:
Description: 'No spaces after [ or before ].'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
Enabled: false
Style/SpaceInsideHashLiteralBraces:
Description: "Use spaces inside hash literal braces - or don't."
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
Enabled: false
Style/SpaceInsideParens:
Description: 'No spaces after ( or before ).'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
Enabled: false
Style/SpaceInsideRangeLiteral:
Description: 'No spaces inside range literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
Enabled: false
Style/SpaceInsideStringInterpolation:
Description: 'Checks for padding/surrounding spaces inside string interpolation.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
Enabled: false
Style/SpecialGlobalVars:
Description: 'Avoid Perl-style global variables.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
Enabled: false
Style/StringLiterals:
Description: 'Checks if uses of quotes match the configured preference.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
Enabled: false
Style/StringLiteralsInInterpolation:
Description: >-
Checks if uses of quotes inside expressions in interpolated
strings match the configured preference.
Enabled: false
Style/StructInheritance:
Description: 'Checks for inheritance from Struct.new.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
Enabled: false
Style/SymbolLiteral:
Description: 'Use plain symbols instead of string symbols when possible.'
Enabled: false
Style/SymbolProc:
Description: 'Use symbols as procs instead of blocks when possible.'
Enabled: false
Style/Tab:
Description: 'No hard tabs.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
Enabled: false
Style/TrailingBlankLines:
Description: 'Checks trailing blank lines and final newline.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
Enabled: false
Style/TrailingCommaInArguments:
Description: 'Checks for trailing comma in parameter lists.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
Enabled: false
Style/TrailingCommaInLiteral:
Description: 'Checks for trailing comma in literals.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
Enabled: false
Style/TrailingWhitespace:
Description: 'Avoid trailing whitespace.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
Enabled: false
Style/TrivialAccessors:
Description: 'Prefer attr_* methods to trivial readers/writers.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
Enabled: false
Style/UnlessElse:
Description: >-
Do not use unless with else. Rewrite these with the positive
case first.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
Enabled: false
Style/UnneededCapitalW:
Description: 'Checks for %W when interpolation is not needed.'
Enabled: false
Style/UnneededPercentQ:
Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
Enabled: false
Style/TrailingUnderscoreVariable:
Description: >-
Checks for the usage of unneeded trailing underscores at the
end of parallel variable assignment.
Enabled: false
Style/VariableInterpolation:
Description: >-
Don't interpolate global, instance and class variables
directly in strings.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
Enabled: false
Style/VariableName:
Description: 'Use the configured style when naming variables.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
Enabled: false
Style/WhenThen:
Description: 'Use when x then ... for one-line cases.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
Enabled: false
Style/WhileUntilDo:
Description: 'Checks for redundant do after while or until.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
Enabled: false
Style/WhileUntilModifier:
Description: >-
Favor modifier while/until usage when you have a
single-line body.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
Enabled: false
Style/WordArray:
Description: 'Use %w or %W for arrays of words.'
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
Enabled: false
inherit_from: .rubocop_todo.yml

1378
.rubocop_todo.yml Normal file
View File

@ -0,0 +1,1378 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2020-06-29 21:25:25 -0300 using RuboCop version 0.78.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
Bundler/OrderedGems:
Exclude:
- 'Gemfile'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: outdent, indent
Layout/AccessModifierIndentation:
Exclude:
- 'lib/util/logger.rb'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
Exclude:
- 'lib/ruby/ruby_compiler.rb'
- 'lib/sol/return_statement.rb'
# Offense count: 194
# Cop supports --auto-correct.
Layout/ArrayAlignment:
Enabled: false
# Offense count: 5
# Cop supports --auto-correct.
Layout/BlockEndNewline:
Exclude:
- 'Guardfile'
- 'test/rubyx/test_compile.rb'
- 'test/rubyx/test_execute.rb'
- 'test/rubyx/test_interpret.rb'
- 'test/rubyx/test_stats.rb'
# Offense count: 6
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
# SupportedStyles: case, end
Layout/CaseIndentation:
Exclude:
- 'lib/util/logging.rb'
# Offense count: 2
# Cop supports --auto-correct.
Layout/ClosingHeredocIndentation:
Exclude:
- 'lib/rubyx/compile.rb'
- 'lib/rubyx/stats.rb'
# Offense count: 14
# Cop supports --auto-correct.
Layout/CommentIndentation:
Exclude:
- 'Gemfile'
- 'bin/collector.rb'
- 'lib/elf/stream_writer.rb'
- 'lib/parfait/integer.rb'
- 'lib/parfait/type.rb'
- 'lib/parfait/word.rb'
- 'test/parfait/test_list.rb'
- 'test/risc/position/test_position3.rb'
- 'test/risc/test_interpreter.rb'
- 'test/rubyx/rt_parfait/test_object.rb'
# Offense count: 1
Layout/ConditionPosition:
Exclude:
- 'lib/slot_machine/block_compiler.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
# SupportedStylesAlignWith: start_of_line, def
Layout/DefEndAlignment:
Exclude:
- 'lib/parfait/word.rb'
- 'test/mains/test_int_cmp.rb'
# Offense count: 298
# Cop supports --auto-correct.
Layout/EmptyLineAfterGuardClause:
Enabled: false
# Offense count: 1847
# Cop supports --auto-correct.
# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines.
Layout/EmptyLineBetweenDefs:
Enabled: false
# Offense count: 21
# Cop supports --auto-correct.
Layout/EmptyLines:
Enabled: false
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: around, only_before
Layout/EmptyLinesAroundAccessModifier:
Exclude:
- 'lib/parfait/list.rb'
- 'lib/parfait/word.rb'
- 'lib/risc/instructions/load_constant.rb'
- 'lib/risc/linker.rb'
- 'lib/ruby/ruby_compiler.rb'
- 'lib/rubyx/compile.rb'
- 'lib/rubyx/rubyxc.rb'
- 'lib/slot_machine/instructions/message_setup.rb'
- 'lib/sol/lambda_expression.rb'
- 'lib/sol/send_statement.rb'
- 'lib/util/logging.rb'
# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty_lines, no_empty_lines
Layout/EmptyLinesAroundBlockBody:
Exclude:
- 'Guardfile'
- 'lib/arm/constants.rb'
- 'lib/slot_machine/macro/div10.rb'
# Offense count: 244
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
Layout/EmptyLinesAroundClassBody:
Enabled: false
# Offense count: 3
# Cop supports --auto-correct.
Layout/EmptyLinesAroundMethodBody:
Exclude:
- 'lib/elf/object_writer.rb'
- 'lib/rubyx/interpret.rb'
- 'test/parfait/test_interpreted.rb'
# Offense count: 136
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
Layout/EmptyLinesAroundModuleBody:
Enabled: false
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
# SupportedStylesAlignWith: keyword, variable, start_of_line
Layout/EndAlignment:
Exclude:
- 'lib/util/logging.rb'
- 'test/mains/test_int_cmp.rb'
- 'test/mains/test_int_math.rb'
# Offense count: 387
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
Layout/ExtraSpacing:
Enabled: false
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
# SupportedColonStyles: key, separator, table
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
Layout/HashAlignment:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/risc/parfait_boot.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: squiggly, active_support, powerpack, unindent
Layout/HeredocIndentation:
Exclude:
- 'test/bench/vm/helper.rb'
# Offense count: 62
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: normal, indented_internal_methods
Layout/IndentationConsistency:
Enabled: false
# Offense count: 73
# Cop supports --auto-correct.
# Configuration parameters: Width, IgnoredPatterns.
Layout/IndentationWidth:
Enabled: false
# Offense count: 417
# Cop supports --auto-correct.
# Configuration parameters: AllowDoxygenCommentStyle.
Layout/LeadingCommentSpace:
Enabled: false
# Offense count: 22
# Cop supports --auto-correct.
Layout/LeadingEmptyLines:
Enabled: false
# Offense count: 4
# Cop supports --auto-correct.
Layout/MultilineBlockLayout:
Exclude:
- 'test/rubyx/test_compile.rb'
- 'test/rubyx/test_execute.rb'
- 'test/rubyx/test_interpret.rb'
- 'test/rubyx/test_stats.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: symmetrical, new_line, same_line
Layout/MultilineHashBraceLayout:
Exclude:
- 'lib/risc/parfait_boot.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: symmetrical, new_line, same_line
Layout/MultilineMethodCallBraceLayout:
Exclude:
- 'lib/util/logger.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/MultilineOperationIndentation:
Exclude:
- 'lib/risc/instructions/instruction.rb'
- 'lib/risc/interpreter.rb'
# Offense count: 1
# Cop supports --auto-correct.
Layout/RescueEnsureAlignment:
Exclude:
- 'test/sol/lambdas/test_class_blocks.rb'
# Offense count: 594
# Cop supports --auto-correct.
Layout/SpaceAfterComma:
Enabled: false
# Offense count: 4
# Cop supports --auto-correct.
Layout/SpaceAfterNot:
Exclude:
- 'lib/parfait/object.rb'
- 'test/risc/instructions/test_instructions.rb'
- 'test/risc/test_callable_compiler1.rb'
- 'test/ruby/test_send_statement2.rb'
# Offense count: 2
# Cop supports --auto-correct.
Layout/SpaceAfterSemicolon:
Exclude:
- 'lib/util/dev_null.rb'
- 'test/mains/test_interpreted.rb'
# Offense count: 14
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleInsidePipes.
# SupportedStylesInsidePipes: space, no_space
Layout/SpaceAroundBlockParameters:
Exclude:
- 'lib/parfait/space.rb'
- 'lib/parfait/type.rb'
- 'lib/risc/parfait_adapter.rb'
- 'lib/risc/parfait_boot.rb'
- 'lib/risc/standard_allocator.rb'
- 'lib/ruby/call_statement.rb'
- 'lib/rubyx/stats.rb'
- 'lib/slot_machine/slot_collection.rb'
- 'test/arm/helper.rb'
- 'test/parfait/test_space2.rb'
- 'test/slot_machine/instructions/helper.rb'
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: space, no_space
Layout/SpaceAroundEqualsInParameterDefault:
Exclude:
- 'lib/elf/stream_reader.rb'
- 'lib/ruby/variables.rb'
- 'lib/sol/lambda_expression.rb'
# Offense count: 170
# Cop supports --auto-correct.
Layout/SpaceAroundKeyword:
Enabled: false
# Offense count: 129
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
# SupportedStylesForExponentOperator: space, no_space
Layout/SpaceAroundOperators:
Enabled: false
# Offense count: 62
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceBeforeBlockBraces:
Enabled: false
# Offense count: 4272
# Cop supports --auto-correct.
Layout/SpaceBeforeComma:
Enabled: false
# Offense count: 14
# Cop supports --auto-correct.
Layout/SpaceBeforeComment:
Exclude:
- 'lib/arm/instructions/compare_instruction.rb'
- 'lib/arm/instructions/logic_instruction.rb'
- 'lib/arm/instructions/move_instruction.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'test/arm/test_call.rb'
- 'test/arm/test_logic.rb'
- 'test/parfait/type/test_message.rb'
- 'test/risc/position/test_position1.rb'
# Offense count: 84
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment.
Layout/SpaceBeforeFirstArg:
Enabled: false
# Offense count: 32
# Cop supports --auto-correct.
Layout/SpaceBeforeSemicolon:
Exclude:
- 'test/risc/interpreter/blocks/test_assign_outer.rb'
- 'test/rubyx/macro/test_integer_comparison.rb'
- 'test/rubyx/macro/test_integer_operator.rb'
# Offense count: 25
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBrackets: space, no_space
Layout/SpaceInsideArrayLiteralBrackets:
Enabled: false
# Offense count: 186
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideBlockBraces:
Enabled: false
# Offense count: 51
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideHashLiteralBraces:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/elf/object_file.rb'
- 'lib/elf/string_table_section.rb'
- 'lib/parfait/type.rb'
- 'lib/risc/block_compiler.rb'
- 'lib/risc/parfait_boot.rb'
- 'lib/rubyx/rubyxc.rb'
- 'test/parfait/test_dictionary.rb'
- 'test/parfait/test_list1.rb'
- 'test/parfait/test_word2.rb'
- 'test/parfait/type/test_hash.rb'
- 'test/parfait/type/test_method_api.rb'
- 'test/risc/test_collector.rb'
- 'test/support/parfait_test.rb'
# Offense count: 1887
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: space, no_space
Layout/SpaceInsideParens:
Enabled: false
# Offense count: 9
# Cop supports --auto-correct.
Layout/SpaceInsideRangeLiteral:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/parfait/binary_code.rb'
- 'lib/risc/parfait_adapter.rb'
- 'lib/risc/platform.rb'
- 'lib/risc/register_value.rb'
- 'lib/ruby/ruby_compiler.rb'
- 'lib/slot_machine/slot_compiler.rb'
# Offense count: 13
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBrackets: space, no_space
Layout/SpaceInsideReferenceBrackets:
Exclude:
- 'lib/risc/parfait_adapter.rb'
- 'lib/slot_machine/instructions/message_setup.rb'
- 'test/risc/test_collector.rb'
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: space, no_space
Layout/SpaceInsideStringInterpolation:
Exclude:
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/util/logger.rb'
# Offense count: 29
# Cop supports --auto-correct.
# Configuration parameters: IndentationWidth.
Layout/Tab:
Exclude:
- 'lib/slot_machine/macro/macro.rb'
- 'lib/util/logger.rb'
- 'test/arm/test_call.rb'
- 'test/arm/test_compare.rb'
- 'test/arm/test_logic.rb'
- 'test/bench/ruby/adds.rb'
- 'test/bench/ruby/itos.rb'
# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace:
Exclude:
- 'lib/elf/section.rb'
- 'lib/elf/symbol_table_section.rb'
- 'lib/elf/text_section.rb'
- 'test/elf/test_something.rb'
- 'test/parfait/test_word.rb'
# Offense count: 3
Lint/AmbiguousBlockAssociation:
Exclude:
- 'lib/ruby/ruby_compiler.rb'
- 'test/parfait/test_list.rb'
# Offense count: 1
Lint/AmbiguousOperator:
Exclude:
- 'test/ruby/helper.rb'
# Offense count: 6
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/slot_machine/block_compiler.rb'
- 'lib/slot_machine/method_compiler.rb'
# Offense count: 1
Lint/DuplicateCaseCondition:
Exclude:
- 'lib/sol/statements.rb'
# Offense count: 20
Lint/DuplicateMethods:
Enabled: false
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: runtime_error, standard_error
Lint/InheritException:
Exclude:
- 'lib/ruby/ruby_compiler.rb'
# Offense count: 1
Lint/InterpolationCheck:
Exclude:
- 'test/ruby/test_basic_values.rb'
# Offense count: 1
Lint/LiteralAsCondition:
Exclude:
- 'test/bench/runner.rb'
# Offense count: 7
# Cop supports --auto-correct.
Lint/RedundantStringCoercion:
Exclude:
- 'lib/risc/callable_compiler.rb'
- 'lib/risc/interpreter.rb'
- 'lib/ruby/return_statement.rb'
- 'lib/slot_machine/callable_compiler.rb'
- 'lib/slot_machine/instructions/slot_load.rb'
- 'lib/sol/return_statement.rb'
# Offense count: 1
Lint/RescueException:
Exclude:
- 'lib/util/logger.rb'
# Offense count: 1
# Cop supports --auto-correct.
Lint/ScriptPermission:
Exclude:
- 'tr.rb'
# Offense count: 1
Lint/ShadowingOuterLocalVariable:
Exclude:
- 'lib/parfait/type.rb'
# Offense count: 13
# Cop supports --auto-correct.
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Exclude:
- 'lib/elf/object_writer.rb'
- 'lib/ruby/call_statement.rb'
- 'test/parfait/test_list1.rb'
- 'test/parfait/test_space.rb'
- 'test/parfait/test_space2.rb'
- 'test/risc/binary/test_linker1.rb'
- 'test/risc/position/test_position3.rb'
- 'test/risc/test_collector.rb'
# Offense count: 87
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
Lint/UnusedMethodArgument:
Enabled: false
# Offense count: 31
Lint/UselessAssignment:
Enabled: false
# Offense count: 1
# Configuration parameters: CheckForMethodsWithNoSideEffects.
Lint/Void:
Exclude:
- 'lib/slot_machine/macro/get_internal_byte.rb'
# Offense count: 119
Metrics/AbcSize:
Max: 80
# Offense count: 1
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
Max: 34
# Offense count: 15
# Configuration parameters: CountComments.
Metrics/ClassLength:
Max: 323
# Offense count: 19
Metrics/CyclomaticComplexity:
Max: 11
# Offense count: 134
# Configuration parameters: CountComments, ExcludedMethods.
Metrics/MethodLength:
Max: 49
# Offense count: 4
# Configuration parameters: CountComments.
Metrics/ModuleLength:
Max: 176
# Offense count: 7
Metrics/PerceivedComplexity:
Max: 11
# Offense count: 44
Naming/AccessorMethodName:
Enabled: false
# Offense count: 26
Naming/BinaryOperatorParameterName:
Exclude:
- 'lib/risc/position/position.rb'
- 'lib/risc/register_slot.rb'
- 'lib/risc/register_value.rb'
- 'test/mains/source/10_add__4.rb'
- 'test/mains/source/11_call-call__7.rb'
- 'test/mains/source/13_simple-class__4.rb'
- 'test/mains/source/22_if-false_large_20.rb'
- 'test/mains/source/23_if-true_small_10.rb'
- 'test/mains/source/23_recurse-count__1.rb'
- 'test/mains/source/24_fibo__8.rb'
- 'test/mains/source/31_while__0.rb'
- 'test/mains/source/32_adds__10.rb'
- 'test/mains/source/33_recurse-fibo__5.rb'
- 'test/mains/source/35_times_11111_5.rb'
# Offense count: 1
Naming/ConstantName:
Exclude:
- 'lib/util/logger.rb'
# Offense count: 9
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
Naming/FileName:
Exclude:
- 'test/mains/source/00_one-call__8.rb'
- 'test/mains/source/11_call-call__7.rb'
- 'test/mains/source/13_simple-class__4.rb'
- 'test/mains/source/14_classname_Space_5.rb'
- 'test/mains/source/15_puts_Hello-there_11.rb'
- 'test/mains/source/22_if-false_large_20.rb'
- 'test/mains/source/23_if-true_small_10.rb'
- 'test/mains/source/23_recurse-count__1.rb'
- 'test/mains/source/33_recurse-fibo__5.rb'
# Offense count: 5
# Configuration parameters: EnforcedStyle.
# SupportedStyles: lowercase, uppercase
Naming/HeredocDelimiterCase:
Exclude:
- 'test/mains/test_new.rb'
- 'test/sol/class_send/test_class_def.rb'
- 'test/sol/class_send/test_class_instance.rb'
- 'test/sol/class_send/test_class_send_inherited.rb'
- 'test/sol/class_send/test_send_class.rb'
# Offense count: 2
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
Naming/MemoizedInstanceVariableName:
Exclude:
- 'lib/risc/instructions/label.rb'
- 'lib/sol/send_statement.rb'
# Offense count: 42
# Configuration parameters: IgnoredPatterns.
# SupportedStyles: snake_case, camelCase
Naming/MethodName:
EnforcedStyle: snake_case
# Offense count: 52
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
# AllowedNames: io, id, to, by, on, in, at, ip, db, os
Naming/MethodParameterName:
Enabled: false
# Offense count: 17
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
# NamePrefix: is_, has_, have_
# ForbiddenPrefixes: is_, has_, have_
# AllowedMethods: is_a?
# MethodDefinitionMacros: define_method, define_singleton_method
Naming/PredicateName:
Exclude:
- 'spec/**/*'
- 'lib/elf/symbol_table_section.rb'
- 'lib/parfait/callable.rb'
- 'lib/parfait/callable_method.rb'
- 'lib/parfait/class.rb'
- 'lib/parfait/object.rb'
- 'lib/parfait/type.rb'
- 'lib/risc/instructions/label.rb'
- 'lib/risc/parfait_adapter.rb'
- 'lib/risc/position/position.rb'
- 'lib/ruby/if_statement.rb'
- 'lib/sol/if_statement.rb'
- 'lib/sol/method_expression.rb'
- 'test/mains/test_arm.rb'
- 'test/risc/position/test_position3.rb'
- 'test/support/fake_compiler.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: PreferredName.
Naming/RescuedExceptionsVariableName:
Exclude:
- 'test/sol/lambdas/test_class_blocks.rb'
# Offense count: 4
# Configuration parameters: EnforcedStyle.
# SupportedStyles: snake_case, normalcase, non_integer
Naming/VariableNumber:
Exclude:
- 'lib/slot_machine/macro/div10.rb'
- 'lib/slot_machine/macro/div4.rb'
- 'lib/slot_machine/macro/get_internal_byte.rb'
- 'test/risc/position/test_instruction_listener.rb'
# Offense count: 4
Security/Eval:
Exclude:
- 'lib/arm/arm_machine.rb'
- 'lib/parfait/factory.rb'
- 'lib/ruby/statement.rb'
- 'lib/sol/macro_expression.rb'
# Offense count: 1
# Configuration parameters: EnforcedStyle.
# SupportedStyles: inline, group
Style/AccessModifierDeclarations:
Exclude:
- 'lib/parfait/message.rb'
# Offense count: 20
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/parfait/list.rb'
- 'lib/parfait/type.rb'
- 'lib/risc/fake_memory.rb'
- 'lib/risc/instructions/branch.rb'
- 'lib/risc/instructions/label.rb'
- 'lib/risc/interpreter.rb'
- 'lib/risc/parfait_adapter.rb'
- 'lib/ruby/ruby_compiler.rb'
- 'lib/slot_machine/block_compiler.rb'
- 'lib/slot_machine/slot_compiler.rb'
- 'lib/slot_machine/slotted_message.rb'
- 'lib/util/list.rb'
- 'test/support/risc_interpreter.rb'
# Offense count: 47
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, conditionals
Style/AndOr:
Enabled: false
# Offense count: 14
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners.
# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
Exclude:
- 'Guardfile'
- 'lib/elf/object_file.rb'
- 'lib/elf/symbol_table_section.rb'
- 'lib/sol/macro_expression.rb'
- 'test/bench/rubyx/times.rb'
- 'test/mains/source/35_times_11111_5.rb'
- 'test/rubyx/test_compile.rb'
- 'test/rubyx/test_execute.rb'
- 'test/rubyx/test_interpret.rb'
- 'test/rubyx/test_stats.rb'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: braces, no_braces, context_dependent
Style/BracesAroundHashParameters:
Exclude:
- 'test/parfait/type/test_hash.rb'
- 'test/risc/test_collector.rb'
# Offense count: 1
Style/CaseEquality:
Exclude:
- 'lib/risc/interpreter.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: is_a?, kind_of?
Style/ClassCheck:
Exclude:
- 'lib/parfait/word.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, AllowInnerBackticks.
# SupportedStyles: backticks, percent_x, mixed
Style/CommandLiteral:
Exclude:
- 'test/bench/runner.rb'
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: Keywords.
# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
Style/CommentAnnotation:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/arm/instructions/memory_instruction.rb'
- 'lib/parfait/callable_method.rb'
- 'lib/parfait/list.rb'
- 'lib/risc/callable_compiler.rb'
- 'lib/slot_machine/instructions/argument_transfer.rb'
- 'lib/sol/method_expression.rb'
- 'test/mains/test_calling.rb'
- 'test/risc/position/test_position3.rb'
# Offense count: 17
Style/CommentedKeyword:
Exclude:
- 'lib/arm/instructions/logic_instruction.rb'
- 'lib/arm/translator.rb'
- 'lib/elf/text_section.rb'
- 'lib/risc/interpreter_platform.rb'
- 'lib/sol/builtin.rb'
- 'test/arm/test_call.rb'
- 'test/arm/test_memory.rb'
- 'test/parfait/test_binary_code.rb'
- 'test/risc/interpreter/calling/test_alloc.rb'
- 'test/risc/test_interpreter.rb'
- 'test/risc/test_risc_collection.rb'
- 'test/risc/test_risc_compiler.rb'
- 'test/ruby/test_send_statement.rb'
- 'test/rubyx/macro/test_integer_comparison.rb'
- 'test/slot_machine/test_slotted_message2.rb'
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
Exclude:
- 'lib/elf/object_writer.rb'
- 'lib/risc/callable_compiler.rb'
- 'lib/risc/interpreter.rb'
- 'lib/risc/position/instruction_listener.rb'
- 'lib/risc/position/position.rb'
- 'lib/ruby/send_statement.rb'
- 'lib/slot_machine/slotted_constant.rb'
- 'test/support/preloader.rb'
# Offense count: 28
# Cop supports --auto-correct.
Style/DefWithParentheses:
Enabled: false
# Offense count: 162
Style/Documentation:
Enabled: false
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty, nil, both
Style/EmptyElse:
Exclude:
- 'lib/parfait/dictionary.rb'
- 'lib/risc/platform.rb'
# Offense count: 16
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: compact, expanded
Style/EmptyMethod:
Exclude:
- 'lib/elf/null_section.rb'
- 'lib/risc/instructions/instruction.rb'
- 'lib/risc/instructions/label.rb'
- 'lib/risc/position/branch_listener.rb'
- 'lib/risc/position/label_listener.rb'
- 'lib/risc/position/position_listener.rb'
- 'lib/sol/variables.rb'
- 'test/parfait/test_interpreted.rb'
- 'test/rubyx/helper.rb'
- 'test/slot_machine/test_block_statement.rb'
- 'test/slot_machine/test_method_compiler.rb'
- 'test/sol/lambdas/test_assign.rb'
- 'test/support/fake_compiler.rb'
# Offense count: 2
# Cop supports --auto-correct.
Style/Encoding:
Exclude:
- 'Rakefile'
- 'rubyx.gemspec'
# Offense count: 5
Style/EvalWithLocation:
Exclude:
- 'lib/arm/arm_machine.rb'
- 'lib/parfait/factory.rb'
- 'lib/risc/parfait_adapter.rb'
- 'lib/ruby/statement.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/EvenOdd:
Exclude:
- 'lib/arm/constants.rb'
# Offense count: 2
# Cop supports --auto-correct.
Style/ExpandPathArguments:
Exclude:
- 'test/slot_machine/test_macro_maker.rb'
# Offense count: 501
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, never
Style/FrozenStringLiteralComment:
Enabled: false
# Offense count: 15
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/elf/object_file.rb'
- 'lib/risc/collector.rb'
- 'lib/risc/position/code_listener.rb'
- 'lib/risc/position/position.rb'
- 'lib/ruby/call_statement.rb'
- 'lib/slot_machine/slot_compiler.rb'
- 'lib/util/logger.rb'
- 'test/bench/ruby/calls.rb'
- 'test/mains/source/22_if-false_large_20.rb'
- 'test/mains/source/23_if-true_small_10.rb'
- 'test/mains/source/23_recurse-count__1.rb'
- 'test/mains/source/33_recurse-fibo__5.rb'
- 'test/support/risc_assert.rb'
# Offense count: 58
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
Style/HashSyntax:
Exclude:
- 'Gemfile'
- 'Rakefile'
- 'lib/arm/constants.rb'
- 'lib/arm/translator.rb'
- 'lib/elf/object_file.rb'
- 'lib/risc/interpreter.rb'
- 'test/arm/test_memory.rb'
- 'test/arm/test_move.rb'
- 'test/parfait/test_dictionary.rb'
# Offense count: 30
# Cop supports --auto-correct.
Style/IfUnlessModifier:
Enabled: false
# Offense count: 1
# Cop supports --auto-correct.
Style/InfiniteLoop:
Exclude:
- 'test/bench/runner.rb'
# Offense count: 29
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
Style/MethodCallWithoutArgsParentheses:
Enabled: false
# Offense count: 61
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
Style/MethodDefParentheses:
Enabled: false
# Offense count: 9
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
Exclude:
- 'lib/arm/arm_machine.rb'
- 'lib/arm/constants.rb'
- 'lib/elf/constants.rb'
- 'lib/util/logger.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
Exclude:
- 'lib/arm/constants.rb'
# Offense count: 18
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: predicate, comparison
Style/NilComparison:
Exclude:
- 'lib/arm/arm_machine.rb'
- 'lib/arm/constants.rb'
- 'lib/arm/instructions/call_instruction.rb'
- 'lib/arm/instructions/compare_instruction.rb'
- 'lib/arm/instructions/logic_instruction.rb'
- 'lib/arm/instructions/memory_instruction.rb'
- 'lib/arm/instructions/move_instruction.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/parfait/object.rb'
- 'lib/risc/position/position.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: IncludeSemanticChanges.
Style/NonNilCheck:
Exclude:
- 'lib/parfait/list.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/Not:
Exclude:
- 'lib/arm/instructions/memory_instruction.rb'
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: Strict.
Style/NumericLiterals:
MinDigits: 11
# Offense count: 45
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
Enabled: false
# Offense count: 12
# Cop supports --auto-correct.
Style/OrAssignment:
Exclude:
- 'lib/parfait/list.rb'
- 'lib/parfait/space.rb'
- 'lib/risc/instructions/label.rb'
- 'lib/risc/instructions/load_data.rb'
- 'lib/risc/instructions/operator_instruction.rb'
- 'lib/risc/instructions/syscall.rb'
- 'lib/risc/position/code_listener.rb'
- 'lib/risc/position/instruction_listener.rb'
- 'lib/risc/register_value.rb'
- 'lib/slot_machine/method_compiler.rb'
- 'test/mains/helper.rb'
- 'test/slot_machine/macro/helper.rb'
# Offense count: 21
# Cop supports --auto-correct.
Style/ParallelAssignment:
Enabled: false
# Offense count: 24
# Cop supports --auto-correct.
# Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
Style/ParenthesesAroundCondition:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/arm/instructions/call_instruction.rb'
- 'lib/arm/instructions/compare_instruction.rb'
- 'lib/arm/instructions/logic_instruction.rb'
- 'lib/arm/instructions/memory_instruction.rb'
- 'lib/arm/instructions/move_instruction.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/elf/object_file.rb'
- 'lib/elf/symbol_table_section.rb'
- 'lib/parfait/word.rb'
- 'lib/slot_machine/macro/macro.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Exclude:
- 'lib/util/logger.rb'
- 'rubyx.gemspec'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: short, verbose
Style/PreferredHashMethods:
Exclude:
- 'lib/risc/position/position.rb'
- 'lib/risc/standard_allocator.rb'
- 'lib/slot_machine/slot_compiler.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantBegin:
Exclude:
- 'lib/util/logger.rb'
# Offense count: 2
# Cop supports --auto-correct.
Style/RedundantInterpolation:
Exclude:
- 'lib/elf/object_writer.rb'
- 'lib/parfait/cache_entry.rb'
# Offense count: 17
# Cop supports --auto-correct.
Style/RedundantParentheses:
Exclude:
- 'lib/arm/constants.rb'
- 'lib/arm/instructions/call_instruction.rb'
- 'lib/arm/instructions/compare_instruction.rb'
- 'lib/arm/instructions/logic_instruction.rb'
- 'lib/arm/instructions/memory_instruction.rb'
- 'lib/arm/instructions/move_instruction.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/parfait/word.rb'
- 'lib/risc/fake_memory.rb'
- 'lib/risc/position/position.rb'
- 'test/risc/position/test_instruction_listener.rb'
# Offense count: 149
# Cop supports --auto-correct.
# Configuration parameters: AllowMultipleReturnValues.
Style/RedundantReturn:
Enabled: false
# Offense count: 100
# Cop supports --auto-correct.
Style/RedundantSelf:
Enabled: false
# Offense count: 3
# Cop supports --auto-correct.
Style/RescueModifier:
Exclude:
- 'lib/arm/arm_machine.rb'
- 'lib/util/logger.rb'
# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
Exclude:
- 'lib/ruby/ruby_compiler.rb'
- 'lib/rubyx/compile.rb'
- 'lib/rubyx/interpret.rb'
- 'test/mains/test_arm.rb'
- 'test/sol/lambdas/test_class_blocks.rb'
- 'test/support/risc_interpreter.rb'
# Offense count: 23
# Cop supports --auto-correct.
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
Exclude:
- 'lib/parfait/binary_code.rb'
- 'lib/parfait/callable_method.rb'
- 'lib/parfait/singleton_class.rb'
- 'lib/parfait/type.rb'
- 'lib/risc/linker.rb'
- 'lib/risc/register_slot.rb'
- 'lib/risc/register_value.rb'
- 'lib/slot_machine/instructions/dynamic_call.rb'
- 'lib/sol/if_statement.rb'
- 'lib/sol/send_statement.rb'
- 'lib/sol/while_statement.rb'
- 'lib/util/compiler_list.rb'
- 'lib/util/list.rb'
- 'lib/util/logger.rb'
# Offense count: 46
# Cop supports --auto-correct.
Style/SelfAssignment:
Enabled: false
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: AllowAsExpressionSeparator.
Style/Semicolon:
Exclude:
- 'lib/arm/constants.rb'
- 'test/bench/ruby/hello.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
Exclude:
- 'lib/rubyx/compile.rb'
- 'lib/rubyx/interpret.rb'
# Offense count: 21
# Cop supports --auto-correct.
# Configuration parameters: AllowIfMethodIsEmpty.
Style/SingleLineMethods:
Exclude:
- 'lib/util/logger.rb'
- 'test/risc/interpreter/blocks/test_assign_outer.rb'
- 'test/rubyx/macro/test_integer_comparison.rb'
- 'test/rubyx/macro/test_integer_operator.rb'
# Offense count: 6
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
Exclude:
- 'test/mains/helper.rb'
- 'test/mains/test_arm.rb'
# Offense count: 6
# Cop supports --auto-correct.
Style/StderrPuts:
Exclude:
- 'Rakefile'
- 'bin/rubyxc'
- 'test/helper.rb'
# Offense count: 1905
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
Enabled: false
# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiteralsInInterpolation:
Exclude:
- 'lib/risc/instructions/instruction.rb'
- 'lib/risc/instructions/label.rb'
- 'lib/util/logger.rb'
# Offense count: 45
# Cop supports --auto-correct.
# Configuration parameters: MinSize.
# SupportedStyles: percent, brackets
Style/SymbolArray:
EnforcedStyle: brackets
# Offense count: 1
# Cop supports --auto-correct.
Style/SymbolLiteral:
Exclude:
- 'test/slot_machine/macro/test_get_internal_byte.rb'
# Offense count: 13
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
Exclude:
- 'lib/risc.rb'
- 'lib/risc/linker.rb'
- 'lib/ruby/class_method_statement.rb'
- 'lib/ruby/method_statement.rb'
- 'lib/ruby/send_statement.rb'
- 'lib/sol/call_statement.rb'
- 'lib/sol/class_method_expression.rb'
- 'lib/sol/macro_expression.rb'
- 'lib/sol/method_expression.rb'
- 'lib/sol/send_statement.rb'
- 'lib/sol/statements.rb'
- 'test/slot_machine/instructions/helper.rb'
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
Style/TernaryParentheses:
Exclude:
- 'lib/arm/instructions/compare_instruction.rb'
- 'lib/arm/instructions/stack_instruction.rb'
- 'lib/rubyx/stats.rb'
- 'lib/util/list.rb'
# Offense count: 17
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInArrayLiteral:
Enabled: false
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInHashLiteral:
Exclude:
- 'lib/risc/parfait_boot.rb'
- 'lib/sol/builtin.rb'
- 'test/support/options.rb'
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
# AllowedMethods: 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
Style/TrivialAccessors:
Exclude:
- 'lib/parfait/object.rb'
- 'lib/risc/position/position.rb'
- 'test/lib/test_log.rb'
- 'test/mains/source/14_classname_Space_5.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/UnlessElse:
Exclude:
- 'lib/parfait/type.rb'
# Offense count: 8
# Cop supports --auto-correct.
Style/WhileUntilDo:
Exclude:
- 'lib/parfait/callable.rb'
- 'lib/risc/parfait_adapter.rb'
- 'test/bench/ruby/adds.rb'
- 'test/bench/ruby/calls.rb'
- 'test/bench/ruby/hello.rb'
- 'test/bench/ruby/itos.rb'
- 'test/bench/ruby/loop.rb'
# Offense count: 7
# Cop supports --auto-correct.
Style/WhileUntilModifier:
Exclude:
- 'lib/ruby/call_statement.rb'
- 'lib/slot_machine/slot_compiler.rb'
- 'lib/slot_machine/slotted.rb'
- 'test/bench/ruby/loop.rb'
- 'test/bench/rubyx/loop.rb'
- 'test/bench/runner.rb'
- 'test/mains/source/31_while__0.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinSize, WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
Exclude:
- 'lib/risc/builder.rb'
- 'test/rubyx/test_rubyxc.rb'
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: forbid_for_all_comparison_operators, forbid_for_equality_operators_only, require_for_all_comparison_operators, require_for_equality_operators_only
Style/YodaCondition:
Exclude:
- 'lib/arm/constants.rb'
- 'test/risc/binary/test_linker.rb'
- 'test/risc/interpreter/calling/test_alloc.rb'
- 'test/risc/position/test_code_listener1.rb'
# Offense count: 907
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
Max: 174

View File

@ -23,4 +23,6 @@ group :development do
gem 'guard' # NOTE: this is necessary in newer versions
gem 'guard-minitest'
gem "rb-readline"
gem "rubocop", require: false
gem "mry"
end

View File

@ -35,6 +35,7 @@ GEM
guard-minitest (2.4.6)
guard-compat (~> 1.2)
minitest (>= 3.0)
jaro_winkler (1.5.4)
json (2.2.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
@ -49,20 +50,32 @@ GEM
minitest (~> 5)
minitest-parallel_fork (1.1.2)
minitest-profile (0.0.2)
mry (0.78.0.0)
rubocop (>= 0.41.0)
nenv (0.3.0)
notiffany (0.1.3)
nenv (~> 0.1)
shellany (~> 0.0)
parallel (1.19.2)
parser (2.6.5.0)
ast (~> 2.4.0)
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
rainbow (3.0.0)
rake (12.3.3)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rb-readline (0.5.5)
rubocop (0.78.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.6)
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
ruby-progressbar (1.10.1)
ruby_dep (1.5.0)
shellany (0.0.1)
simplecov (0.13.0)
@ -71,6 +84,7 @@ GEM
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
thor (0.20.3)
unicode-display_width (1.6.1)
PLATFORMS
ruby
@ -84,8 +98,10 @@ DEPENDENCIES
minitest-fail-fast
minitest-parallel_fork
minitest-profile
mry
rake
rb-readline
rubocop
rubyx!
rx-file!
simplecov