# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2016-12-21 14:29:23 +0200 using RuboCop version 0.46.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.

Lint/EmptyWhen:
  Exclude:
    - 'app/lib/actions/proxy_action.rb'

Lint/ShadowingOuterLocalVariable:
  Exclude:
    - 'bin/dynflow-executor'

Lint/UselessAssignment:
  Exclude:
    - 'lib/foreman_tasks/tasks/export_tasks.rake'

Metrics/AbcSize:
  Max: 41

# Configuration parameters: CountComments.
Metrics/BlockLength:
  Max: 105

# Configuration parameters: CountComments.
Metrics/ClassLength:
  Max: 230

Metrics/CyclomaticComplexity:
  Max: 10

# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Metrics/LineLength:
  Max: 244

# Configuration parameters: CountComments.
Metrics/MethodLength:
  Max: 37

# Configuration parameters: CountComments.
Metrics/ModuleLength:
  Max: 170

# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
  Max: 6

Metrics/PerceivedComplexity:
  Max: 10

# Configuration parameters: Include.
# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
Rails/Exit:
  Exclude:
    - 'lib/**/*.rake'

# Configuration parameters: Include.
# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
Rails/Output:
  Exclude:
    - 'lib/foreman_tasks/cleaner.rb'

Rails/OutputSafety:
  Exclude:
    - 'app/helpers/foreman_tasks/foreman_tasks_helper.rb'

# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
  Exclude:
    - 'app/lib/actions/action_with_sub_plans.rb'
    - 'app/models/foreman_tasks/task/dynflow_task.rb'
    - 'app/models/foreman_tasks/task/status_explicator.rb'
    - 'app/models/foreman_tasks/task/summarizer.rb'
    - 'app/models/foreman_tasks/task/task_cancelled_exception.rb'
    - 'app/models/setting/foreman_tasks.rb'
    - 'lib/foreman_tasks/dynflow/configuration.rb'
    - 'lib/foreman_tasks/dynflow/console_authorizer.rb'
    - 'lib/foreman_tasks/dynflow/persistence.rb'
    - 'test/controllers/api/recurring_logics_controller_test.rb'
    - 'test/controllers/api/tasks_controller_test.rb'
    - 'test/unit/actions/action_with_sub_plans_test.rb'

Style/DoubleNegation:
  Exclude:
    - 'app/models/foreman_tasks/lock.rb'
    - 'app/models/foreman_tasks/recurring_logic.rb'

# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts.
Naming/FileName:
  Exclude:
    - 'db/seeds.d/20-foreman_tasks_permissions.rb'
    - 'db/seeds.d/60-dynflow_proxy_feature.rb'
    - 'db/seeds.d/61-foreman_tasks_bookmarks.rb'
    - 'lib/foreman-tasks.rb'

# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
  Exclude:
    - 'app/models/foreman_tasks/task/dynflow_task.rb'
    - 'lib/foreman_tasks/tasks/export_tasks.rake'

# Configuration parameters: MinBodyLength.
Style/GuardClause:
  Enabled: false

# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
# NamePrefix: is_, has_, have_
# NamePrefixBlacklist: is_, has_, have_
# NameWhitelist: is_a?
Naming/PredicateName:
  Exclude:
    - 'spec/**/*'
    - 'app/models/foreman_tasks/task/status_explicator.rb'

# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
  Exclude:
    - 'lib/foreman_tasks/dynflow/console_authorizer.rb'

# Configuration parameters: Methods.
# Methods: {"reduce"=>["acc", "elem"]}, {"inject"=>["acc", "elem"]}
Style/SingleLineBlockParams:
  Exclude:
    - 'app/models/foreman_tasks/concerns/action_subject.rb'
    - 'app/models/foreman_tasks/lock.rb'