# This configuration was generated by
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
# using RuboCop version 1.81.7.
# 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
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
Lint/DuplicateBranch:
  Exclude:
    - 'lib/puppet-syntax/templates.rb'

# Offense count: 1
# Configuration parameters: AllowedParentClasses.
Lint/MissingSuper:
  Exclude:
    - 'lib/puppet-syntax/tasks/puppet-syntax.rb'

# Offense count: 1
Lint/RescueException:
  Exclude:
    - 'lib/puppet-syntax/hiera.rb'

# Offense count: 1
# Configuration parameters: AllowComments, AllowNil.
Lint/SuppressedException:
  Exclude:
    - 'Rakefile'

# Offense count: 4
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
# CheckDefinitionPathHierarchyRoots: lib, spec, test, src
# 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:
    - 'Rakefile.rb'
    - 'lib/puppet-syntax.rb'
    - 'lib/puppet-syntax/tasks/puppet-syntax.rb'
    - 'spec/puppet-syntax/tasks/puppet-syntax_spec.rb'
    - 'spec/puppet-syntax_spec.rb'

# Offense count: 1
# Configuration parameters: Prefixes, AllowedPatterns.
# Prefixes: when, with, without
RSpec/ContextWording:
  Exclude:
    - 'spec/puppet-syntax/hiera_spec.rb'

# Offense count: 1
# Configuration parameters: IgnoredMetadata.
RSpec/DescribeClass:
  Exclude:
    - '**/spec/features/**/*'
    - '**/spec/requests/**/*'
    - '**/spec/routing/**/*'
    - '**/spec/system/**/*'
    - '**/spec/views/**/*'
    - 'spec/puppet-syntax/tasks/puppet-syntax_spec.rb'

# Offense count: 8
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
  Max: 17

# Offense count: 6
RSpec/LeakyLocalVariable:
  Exclude:
    - 'spec/puppet-syntax/tasks/puppet-syntax_spec.rb'

# Offense count: 32
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
# SupportedStyles: always, named_only
RSpec/NamedSubject:
  Exclude:
    - 'spec/puppet-syntax/hiera_spec.rb'
    - 'spec/puppet-syntax/manifests_spec.rb'
    - 'spec/puppet-syntax/templates_spec.rb'

# Offense count: 8
RSpec/RepeatedDescription:
  Exclude:
    - 'spec/puppet-syntax/templates_spec.rb'

# Offense count: 4
# Configuration parameters: CustomTransform, IgnoreMethods, IgnoreMetadata, InflectorPath, EnforcedInflector.
# SupportedInflectors: default, active_support
RSpec/SpecFilePathFormat:
  Exclude:
    - '**/spec/routing/**/*'
    - 'spec/puppet-syntax/hiera_spec.rb'
    - 'spec/puppet-syntax/manifests_spec.rb'
    - 'spec/puppet-syntax/templates_spec.rb'
    - 'spec/puppet-syntax_spec.rb'

# Offense count: 3
RSpec/SubjectDeclaration:
  Exclude:
    - 'spec/puppet-syntax/hiera_spec.rb'
    - 'spec/puppet-syntax/manifests_spec.rb'
    - 'spec/puppet-syntax/templates_spec.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, conditionals
Style/AndOr:
  Exclude:
    - 'lib/puppet-syntax/templates.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: MinBranchesCount.
Style/CaseLikeIf:
  Exclude:
    - 'lib/puppet-syntax/hiera.rb'

# Offense count: 5
# Configuration parameters: AllowedConstants.
Style/Documentation:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'
    - 'lib/puppet-syntax.rb'
    - 'lib/puppet-syntax/hiera.rb'
    - 'lib/puppet-syntax/manifests.rb'
    - 'lib/puppet-syntax/tasks/puppet-syntax.rb'
    - 'lib/puppet-syntax/templates.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
  Exclude:
    - 'spec/**/*'
    - 'lib/puppet-syntax/hiera.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
  Exclude:
    - 'spec/puppet-syntax/templates_spec.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SelectByRegexp:
  Exclude:
    - 'lib/puppet-syntax/manifests.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: RequireEnglish, EnforcedStyle.
# SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names
Style/SpecialGlobalVars:
  Exclude:
    - 'puppet-syntax.gemspec'

# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
# AllowedMethods: define_method
Style/SymbolProc:
  Exclude:
    - 'lib/puppet-syntax/hiera.rb'
    - 'lib/puppet-syntax/manifests.rb'
    - 'lib/puppet-syntax/templates.rb'

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