# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2016-03-03 16:16:26 -0600 using RuboCop version 0.37.2.
# 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: 4
# Cop supports --auto-correct.
# Configuration parameters: AlignWith, SupportedStyles, AutoCorrect.
# SupportedStyles: keyword, variable, start_of_line
Lint/EndAlignment:
  Enabled: false

# Offense count: 11
Lint/IneffectiveAccessModifier:
  Exclude:
    - 'lib/cocoapods/command.rb'
    - 'lib/cocoapods/downloader.rb'
    - 'lib/cocoapods/executable.rb'
    - 'lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb'
    - 'lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb'

# Offense count: 1
Lint/NonLocalExitFromIterator:
  Exclude:
    - 'spec/unit/installer_spec.rb'

# Offense count: 40
Lint/UselessAccessModifier:
  Enabled: false

# Offense count: 1853
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
# URISchemes: http, https
Metrics/LineLength:
  Max: 279

# Offense count: 5
# Cop supports --auto-correct.
Performance/Casecmp:
  Exclude:
    - 'lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb'
    - 'lib/cocoapods/installer/installation_options.rb'
    - 'lib/cocoapods/open-uri.rb'
    - 'lib/cocoapods/project.rb'
    - 'lib/cocoapods/sandbox/path_list.rb'

# Offense count: 3
# Cop supports --auto-correct.
Performance/RedundantBlockCall:
  Exclude:
    - 'lib/cocoapods/downloader/cache.rb'
    - 'lib/cocoapods/installer/analyzer/pod_variant_set.rb'
    - 'spec/unit/validator_spec.rb'

# Offense count: 2
# Cop supports --auto-correct.
Performance/RedundantMatch:
  Exclude:
    - 'spec/**/*'
    - 'lib/cocoapods/command/lib.rb'
    - 'lib/cocoapods/external_sources/podspec_source.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: MaxKeyValuePairs.
Performance/RedundantMerge:
  Exclude:
    - 'lib/cocoapods/installer/target_installer.rb'

# Offense count: 1
# Cop supports --auto-correct.
Performance/StringReplacement:
  Exclude:
    - 'spec/functional/command/spec_spec.rb'

# Offense count: 23
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
  Exclude:
    - 'lib/cocoapods/config.rb'
    - 'lib/cocoapods/downloader/request.rb'
    - 'lib/cocoapods/external_sources/abstract_external_source.rb'
    - 'lib/cocoapods/installer.rb'
    - 'lib/cocoapods/installer/analyzer.rb'
    - 'lib/cocoapods/installer/analyzer/pod_variant.rb'
    - 'lib/cocoapods/installer/analyzer/sandbox_analyzer.rb'
    - 'lib/cocoapods/installer/installation_options.rb'
    - 'lib/cocoapods/installer/pod_source_installer.rb'
    - 'lib/cocoapods/target.rb'
    - 'lib/cocoapods/user_interface.rb'
    - 'lib/cocoapods/validator.rb'
    - 'spec/spec_helper.rb'
    - 'spec/spec_helper/user_interface.rb'
    - 'spec/unit/validator_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: with_first_parameter, with_fixed_indentation
Style/AlignParameters:
  Exclude:
    - 'lib/cocoapods/project.rb'

# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: SingleLineConditionsOnly.
Style/ConditionalAssignment:
  Exclude:
    - 'lib/cocoapods/command/init.rb'
    - 'lib/cocoapods/command/repo/push.rb'
    - 'lib/cocoapods/external_sources/abstract_external_source.rb'
    - 'lib/cocoapods/sandbox/file_accessor.rb'
    - 'lib/cocoapods/sandbox/path_list.rb'
    - 'lib/cocoapods/sources_manager.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
Style/ExtraSpacing:
  Exclude:
    - 'spec/unit/sandbox/path_list_spec.rb'

# Offense count: 1
Style/IfInsideElse:
  Exclude:
    - 'lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb'

# Offense count: 24
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
Style/IndentArray:
  EnforcedStyle: consistent

# Offense count: 27
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: aligned, indented
Style/MultilineMethodCallIndentation:
  Enabled: false

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: aligned, indented
Style/MultilineOperationIndentation:
  Enabled: false

# Offense count: 16
# Cop supports --auto-correct.
Style/MutableConstant:
  Exclude:
    - 'bin/sandbox-pod'
    - 'lib/cocoapods/command/inter_process_communication.rb'
    - 'lib/cocoapods/command/lib.rb'
    - 'lib/cocoapods/config.rb'
    - 'lib/cocoapods/generator/copy_resources_script.rb'
    - 'lib/cocoapods/installer.rb'
    - 'lib/cocoapods/installer/target_installer/pod_target_installer.rb'
    - 'lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb'
    - 'lib/cocoapods/project.rb'
    - 'spec/unit/installer/user_project_integrator/target_integrator/xcconfig_integrator_spec.rb'

# Offense count: 1
Style/NestedParenthesizedCalls:
  Exclude:
    - 'spec/unit/installer/analyzer_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowSafeAssignment.
Style/ParenthesesAroundCondition:
  Exclude:
    - 'lib/cocoapods/command/inter_process_communication.rb'

# Offense count: 2
# Cop supports --auto-correct.
Style/RedundantParentheses:
  Exclude:
    - 'lib/cocoapods/sources_manager.rb'
    - 'spec/unit/sandbox_spec.rb'

# Offense count: 2
# Cop supports --auto-correct.
Style/RedundantSelf:
  Exclude:
    - 'lib/cocoapods/command.rb'

# Offense count: 16
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
  Exclude:
    - 'lib/cocoapods/installer/file_references_installer.rb'
    - 'lib/cocoapods/sandbox/path_list.rb'
    - 'lib/cocoapods/sources_manager.rb'
    - 'lib/cocoapods/validator.rb'
    - 'spec/integration.rb'
    - 'spec/unit/external_sources/path_source_spec.rb'
    - 'spec/unit/external_sources/podspec_source_spec.rb'
    - 'spec/unit/resolver_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/SpaceAroundKeyword:
  Exclude:
    - 'lib/cocoapods/project.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment.
Style/SpaceAroundOperators:
  Exclude:
    - 'spec/unit/external_sources_spec.rb'

# Offense count: 5
# Cop supports --auto-correct.
Style/UnneededInterpolation:
  Exclude:
    - 'lib/cocoapods/command/spec/create.rb'
    - 'lib/cocoapods/user_interface.rb'
    - 'lib/cocoapods/validator.rb'
    - 'spec/spec_helper/temporary_repos.rb'

# Offense count: 4
Style/ZeroLengthPredicate:
  Exclude:
    - 'lib/cocoapods/command/init.rb'
    - 'lib/cocoapods/command/project.rb'
    - 'lib/cocoapods/installer/podfile_validator.rb'
    - 'lib/cocoapods/sources_manager.rb'
