diff --git a/.rubocop.yml b/.rubocop.yml index 5bd0fab0..cc32da4b 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,1155 +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 - -Layout/BlockAlignment: - Description: 'Align block ends correctly.' - Enabled: true - -Lint/CircularArgumentReference: - Description: "Don't refer to the keyword argument in the default value." - Enabled: true - -Layout/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 - -Layout/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 - -Layout/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 - -Security/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/SuppressedException: - Description: "Don't suppress exception." - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions' - Enabled: true - -Lint/LiteralAsCondition: - 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/RedundantStringCoercion: - 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/RedundantCopDisableDirective: - 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 - -Layout/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/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 ################################# - -Layout/AccessModifierIndentation: - Description: Check indentation of private/protected visibility modifiers. - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected' - Enabled: false - -Naming/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 - -Layout/ArrayAlignment: - 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 - -Layout/HashAlignment: - Description: >- - Align the elements of a hash literal if they span more than - one line. - Enabled: false - -Layout/ParameterAlignment: - 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 - -Naming/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 - -Layout/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 - -Layout/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 - -Naming/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 - -Layout/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 - -Layout/CommentIndentation: - Description: 'Indentation of comments.' - Enabled: false - -Naming/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 - -Layout/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/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 - -Layout/ElseAlignment: - Description: 'Align elses and elsifs correctly.' - Enabled: false - -Style/EmptyElse: - Description: 'Avoid empty else-clauses.' - Enabled: false - -Layout/EmptyLineBetweenDefs: - Description: 'Use empty lines between defs.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods' - Enabled: false - -Layout/EmptyLines: - Description: "Don't use several empty lines in a row." - Enabled: false - -Layout/EmptyLinesAroundAccessModifier: - Description: "Keep blank lines around access modifiers." - Enabled: false - -Layout/EmptyLinesAroundBlockBody: - Description: "Keeps track of empty lines around block bodies." - Enabled: false - -Layout/EmptyLinesAroundClassBody: - Description: "Keeps track of empty lines around class bodies." - Enabled: false - -Layout/EmptyLinesAroundModuleBody: - Description: "Keeps track of empty lines around module bodies." - Enabled: false - -Layout/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 - -Layout/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 - -Layout/ExtraSpacing: - Description: 'Do not use unnecessary spacing.' - Enabled: false - -Naming/FileName: - Description: 'Use snake_case for source file names.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files' - Enabled: false - -Layout/InitialIndentation: - Description: >- - Checks the indentation of the first non-blank non-comment line in a file. - Enabled: false - -Layout/FirstArgumentIndentation: - Description: 'Checks the indentation of the first parameter in a method call.' - Enabled: false - -Lint/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 - -Layout/IndentationConsistency: - Description: 'Keep indentation straight.' - Enabled: false - -Layout/IndentationWidth: - Description: 'Use 2 spaces for indentation.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation' - Enabled: false - -Layout/FirstArrayElementIdentation: - Description: >- - Checks the indentation of the first element in an array - literal. - Enabled: false - -Layout/FirstHashElementIdentation: - 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 - -Layout/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/MethodCallWithoutArgsParentheses: - 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 - -Naming/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 - -Layout/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 - -Layout/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 - -Naming/BinaryOperatorParameterName: - 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 - -Naming/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 - -Layout/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 - -Layout/SpaceBeforeFirstArg: - Description: >- - Checks that exactly one space is used between a method name - and the first argument for method calls without parentheses. - Enabled: true - -Layout/SpaceAfterColon: - Description: 'Use spaces after colons.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' - Enabled: false - -Layout/SpaceAfterComma: - Description: 'Use spaces after commas.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' - Enabled: false - -Layout/SpaceAroundKeyword: - Description: 'Use spaces around keywords.' - Enabled: false - -Layout/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 - -Layout/SpaceAfterNot: - Description: Tracks redundant space after the ! operator. - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang' - Enabled: false - -Layout/SpaceAfterSemicolon: - Description: 'Use spaces after semicolons.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' - Enabled: false - -Layout/SpaceBeforeBlockBraces: - Description: >- - Checks that the left block brace has or doesn't have space - before it. - Enabled: false - -Layout/SpaceBeforeComma: - Description: 'No spaces before commas.' - Enabled: false - -Layout/SpaceBeforeComment: - Description: >- - Checks for missing space between code and a comment on the - same line. - Enabled: false - -Layout/SpaceBeforeSemicolon: - Description: 'No spaces before semicolons.' - Enabled: false - -Layout/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 - -Layout/SpaceAroundBlockParameters: - Description: 'Checks the spacing inside and after block parameters pipes.' - Enabled: false - -Layout/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 - -Layout/SpaceAroundOperators: - Description: 'Use a single space around operators.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' - Enabled: false - -Layout/SpaceInsideBrackets: - Description: 'No spaces after [ or before ].' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces' - Enabled: false - -Layout/SpaceInsideHashLiteralBraces: - Description: "Use spaces inside hash literal braces - or don't." - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators' - Enabled: false - -Layout/SpaceInsideParens: - Description: 'No spaces after ( or before ).' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces' - Enabled: false - -Layout/SpaceInsideRangeLiteral: - Description: 'No spaces inside range literals.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals' - Enabled: false - -Layout/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 - -Layout/Tab: - Description: 'No hard tabs.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation' - Enabled: false - -Layout/TrailingEmptyLines: - 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/TrailingCommaInArrayLiteral: - Description: 'Checks for trailing comma in literals.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas' - Enabled: false - -Style/TrailingCommaInHashLiteral: - Description: 'Checks for trailing comma in literals.' - StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas' - Enabled: false - -Layout/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/RedundantCapitalW: - Description: 'Checks for %W when interpolation is not needed.' - Enabled: false - -Style/RedundantPercentQ: - 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 - -Naming/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 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 00000000..52943b4a --- /dev/null +++ b/.rubocop_todo.yml @@ -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