# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2021-06-18 14:28:03 UTC using RuboCop version 1.12.1.
# 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.

Gemspec/DevelopmentDependencies:
  Enabled: false

# Offense count: 7
Lint/MissingSuper:
  Exclude:
    - 'lib/zip/extra_field.rb'
    - 'lib/zip/extra_field/aes.rb'
    - 'lib/zip/extra_field/ntfs.rb'
    - 'lib/zip/extra_field/old_unix.rb'
    - 'lib/zip/extra_field/universal_time.rb'
    - 'lib/zip/extra_field/unix.rb'
    - 'lib/zip/extra_field/unknown.rb'
    - 'lib/zip/extra_field/zip64.rb'
    - 'lib/zip/extra_field/zip64_placeholder.rb'

# Offense count: 5
# Configuration parameters: CountComments, CountAsOne.
Metrics/ClassLength:
  Max: 675

# Offense count: 21
# Configuration parameters: IgnoredMethods.
Metrics/CyclomaticComplexity:
  Max: 14

# Offense count: 47
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
Metrics/MethodLength:
  Max: 34

# Offense count: 5
# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
  Max: 11
  MaxOptionalParameters: 9

# Offense count: 14
# Configuration parameters: IgnoredMethods.
Metrics/PerceivedComplexity:
  Max: 15

# Offense count: 7
Naming/AccessorMethodName:
  Exclude:
    - 'lib/zip/entry.rb'
    - 'lib/zip/input_stream.rb'
    - 'lib/zip/streamable_stream.rb'

# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
  Exclude:
    - 'lib/zip/extra_field/generic.rb'
    - 'lib/zip/extra_field/aes.rb'
    - 'lib/zip/extra_field/ntfs.rb'
    - 'lib/zip/extra_field/old_unix.rb'
    - 'lib/zip/extra_field/universal_time.rb'
    - 'lib/zip/extra_field/unix.rb'
    - 'lib/zip/extra_field/unknown.rb'
    - 'lib/zip/extra_field/zip64.rb'
    - 'lib/zip/extra_field/zip64_placeholder.rb'

# Offense count: 22
# Configuration parameters: AllowedConstants.
Style/Documentation:
  Enabled: false

# Offense count: 13
# Cop supports --auto-correct.
Style/IfUnlessModifier:
  Exclude:
    - 'lib/zip/entry.rb'
    - 'lib/zip/file_split.rb'
    - 'lib/zip/filesystem/dir.rb'
    - 'lib/zip/filesystem/file.rb'
    - 'lib/zip/pass_thru_decompressor.rb'
    - 'lib/zip/streamable_stream.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
  Exclude:
    - 'lib/zip/extra_field.rb'

# Offense count: 21
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
  Exclude:
    - 'lib/zip/entry.rb'
    - 'lib/zip/extra_field/old_unix.rb'
    - 'lib/zip/extra_field/universal_time.rb'
    - 'lib/zip/extra_field/unix.rb'
    - 'lib/zip/file.rb'
    - 'lib/zip/filesystem/file.rb'
    - 'lib/zip/input_stream.rb'
    - 'lib/zip/ioextras.rb'
    - 'lib/zip/ioextras/abstract_input_stream.rb'

# Offense count: 17
# Cop supports --auto-correct.
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
  Exclude:
    - 'lib/zip/entry.rb'
    - 'lib/zip/input_stream.rb'
    - 'lib/zip/output_stream.rb'
    - 'test/file_extract_test.rb'
    - 'test/filesystem/file_nonmutating_test.rb'
    - 'test/filesystem/file_stat_test.rb'
    - 'test/helpers/assert_entry.rb'
