# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2022-11-30 17:25:04 UTC using RuboCop version 1.39.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: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
  Exclude:
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Layout/ClosingParenthesisIndentation:
  Exclude:
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment.
Layout/CommentIndentation:
  Exclude:
    - 'lib/cryptum/api.rb'
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 4
# This cop supports safe autocorrection (--autocorrect).
Layout/EmptyLineAfterGuardClause:
  Exclude:
    - 'lib/cryptum/order_book/market_trend.rb'
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
Layout/EmptyLines:
  Exclude:
    - 'lib/cryptum/api.rb'
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
Layout/ExtraSpacing:
  Exclude:
    - 'lib/cryptum/ui/order_plan.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
Layout/FirstArgumentIndentation:
  Exclude:
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: normal, indented_internal_methods
Layout/IndentationConsistency:
  Exclude:
    - 'lib/cryptum/api.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: IndentationWidth, EnforcedStyle.
# SupportedStyles: spaces, tabs
Layout/IndentationStyle:
  Exclude:
    - 'lib/cryptum/ui/order_execution.rb'

# Offense count: 6
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/MultilineOperationIndentation:
  Exclude:
    - 'lib/cryptum/order_book/market_trend.rb'
    - 'lib/cryptum/ui/order_execution.rb'
    - 'lib/cryptum/ui/ticker.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
# SupportedStylesForExponentOperator: space, no_space
Layout/SpaceAroundOperators:
  Exclude:
    - 'lib/cryptum/ui/order_plan.rb'

# Offense count: 11
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace:
  Exclude:
    - 'bin/cryptum-forecast'
    - 'lib/cryptum.rb'
    - 'lib/cryptum/api.rb'
    - 'lib/cryptum/ui/order_execution.rb'
    - 'lib/cryptum/ui/order_plan.rb'
    - 'lib/cryptum/ui/order_timer.rb'

# Offense count: 1
Lint/NonLocalExitFromIterator:
  Exclude:
    - 'lib/cryptum/web_sock/event_machine.rb'

# Offense count: 51
Lint/UselessAssignment:
  Exclude:
    - 'bin/cryptum-forecast'
    - 'lib/cryptum.rb'
    - 'lib/cryptum/api.rb'
    - 'lib/cryptum/event.rb'
    - 'lib/cryptum/event/buy.rb'
    - 'lib/cryptum/event/cancel.rb'
    - 'lib/cryptum/order_book/generate.rb'
    - 'lib/cryptum/ui/market_trend.rb'
    - 'lib/cryptum/ui/order_execution.rb'
    - 'lib/cryptum/ui/order_plan.rb'
    - 'lib/cryptum/ui/portfolio.rb'
    - 'lib/cryptum/ui/signal_engine.rb'
    - 'lib/cryptum/ui/ticker.rb'

# Offense count: 38
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
Metrics/AbcSize:
  Max: 371

# Offense count: 7
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
# AllowedMethods: refine
Metrics/BlockLength:
  Max: 94

# Offense count: 4
# Configuration parameters: CountBlocks.
Metrics/BlockNesting:
  Max: 4

# Offense count: 16
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
Metrics/CyclomaticComplexity:
  Max: 70

# Offense count: 56
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
Metrics/MethodLength:
  Max: 343

# Offense count: 15
# Configuration parameters: CountComments, CountAsOne.
Metrics/ModuleLength:
  Max: 538

# Offense count: 16
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
Metrics/PerceivedComplexity:
  Max: 73

# Offense count: 1
# Configuration parameters: AllowedConstants.
Style/Documentation:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'
    - 'bin/cryptum-forecast'

# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: left_coerce, right_coerce, single_coerce, fdiv
Style/FloatDivision:
  Exclude:
    - 'lib/cryptum/ui/order_plan.rb'
    - 'lib/cryptum/ui/portfolio.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
  Exclude:
    - 'lib/cryptum/api.rb'

# Offense count: 4
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
Style/NumericLiterals:
  MinDigits: 7

# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Methods.
Style/RedundantArgument:
  Exclude:
    - 'lib/cryptum/ui/command.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantAssignment:
  Exclude:
    - 'lib/cryptum/api.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleReturnValues.
Style/RedundantReturn:
  Exclude:
    - 'lib/cryptum.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantSelf:
  Exclude:
    - 'lib/cryptum/event/history.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/StringChars:
  Exclude:
    - 'lib/cryptum.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
  Exclude:
    - 'lib/cryptum/ui/order_timer.rb'
    - 'lib/cryptum/ui/portfolio.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: .
# SupportedStyles: percent, brackets
Style/SymbolArray:
  EnforcedStyle: percent
  MinSize: 4

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInArrayLiteral:
  Exclude:
    - 'lib/cryptum/matrix.rb'

# Offense count: 10
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
  Max: 216