# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2019-10-20 22:59:04 +0300 using RuboCop version 0.75.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.

# Offense count: 1
# Configuration parameters: EnforcedStyle.
# SupportedStyles: native, lf, crlf
Layout/EndOfLine:
  Exclude:
    - 'deploy/after_restart.rb'

# Offense count: 1
Lint/DuplicateMethods:
  Exclude:
    - 'app/controllers/api/v1/reports_controller.rb'

# Offense count: 1
Lint/RescueException:
  Exclude:
    - 'app/builders/messages/message_builder.rb'

# Offense count: 4
Lint/ShadowingOuterLocalVariable:
  Exclude:
    - 'app/controllers/api/v1/reports_controller.rb'

# Offense count: 3
# Configuration parameters: AllowKeywordBlockArguments.
Lint/UnderscorePrefixedVariableName:
  Exclude:
    - 'app/models/account.rb'
    - 'deploy/before_symlink.rb'

# Offense count: 18
Lint/UselessAssignment:
  Exclude:
    - 'app/controllers/api/v1/callbacks_controller.rb'
    - 'app/controllers/api/v1/facebook_indicators_controller.rb'
    - 'app/listeners/pusher_listener.rb'
    - 'app/listeners/reporting_listener.rb'
    - 'app/models/channel/facebook_page.rb'
    - 'app/models/facebook_page.rb'

# Offense count: 14
Metrics/AbcSize:
  Max: 26

# Offense count: 1
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
  Max: 30

# Offense count: 2
Metrics/CyclomaticComplexity:
  Max: 7

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Metrics/LineLength:
  Max: 497

# Offense count: 9
# Configuration parameters: CountComments, ExcludedMethods.
Metrics/MethodLength:
  Max: 19

# Offense count: 1
Metrics/PerceivedComplexity:
  Max: 8

# Offense count: 6
Naming/AccessorMethodName:
  Exclude:
    - 'app/builders/report_builder.rb'
    - 'app/controllers/api/v1/accounts_controller.rb'
    - 'app/controllers/api/v1/callbacks_controller.rb'
    - 'app/controllers/api/v1/conversations_controller.rb'
    - 'app/controllers/passwords_controller.rb'

# Offense count: 9
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
Naming/MemoizedInstanceVariableName:
  Exclude:
    - 'app/controllers/api/base_controller.rb'
    - 'app/controllers/api/v1/conversations_controller.rb'
    - 'app/controllers/api/v1/webhooks_controller.rb'
    - 'app/controllers/application_controller.rb'
    - 'app/models/message.rb'
    - 'lib/integrations/widget/outgoing_message_builder.rb'
    - 'lib/webhooks/chargebee.rb'

# Offense count: 15
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
  Exclude:
    - 'app/builders/messages/message_builder.rb'
    - 'app/controllers/api/v1/inbox_members_controller.rb'
    - 'app/models/channel/facebook_page.rb'
    - 'app/models/channel/web_widget.rb'
    - 'app/presenters/conversations/event_data_presenter.rb'
    - 'app/services/facebook/send_reply_service.rb'
    - 'lib/integrations/facebook/delivery_status.rb'
    - 'lib/integrations/facebook/message_creator.rb'
    - 'lib/integrations/facebook/message_parser.rb'
    - 'lib/integrations/widget/incoming_message_builder.rb'

# Offense count: 4
Style/CommentedKeyword:
  Exclude:
    - 'app/controllers/api/v1/callbacks_controller.rb'
    - 'app/controllers/api/v1/conversations/assignments_controller.rb'
    - 'app/controllers/api/v1/conversations/labels_controller.rb'
    - 'app/controllers/api/v1/labels_controller.rb'

# Offense count: 1
# Configuration parameters: EnforcedStyle.
# SupportedStyles: annotated, template, unannotated
Style/FormatStringToken:
  Exclude:
    - 'lib/constants/redis_keys.rb'

# Offense count: 4
# Configuration parameters: AllowedVariables.
Style/GlobalVars:
  Exclude:
    - 'lib/redis/alfred.rb'

# Offense count: 7
# Configuration parameters: MinBodyLength.
Style/GuardClause:
  Exclude:
    - 'app/builders/account_builder.rb'
    - 'app/models/attachment.rb'
    - 'app/models/message.rb'
    - 'lib/webhooks/chargebee.rb'

# Offense count: 4
Style/IdenticalConditionalBranches:
  Exclude:
    - 'app/controllers/api/v1/reports_controller.rb'

# Offense count: 1
# Configuration parameters: AllowIfModifier.
Style/IfInsideElse:
  Exclude:
    - 'app/finders/conversation_finder.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/IfUnlessModifier:
  Exclude:
    - 'deploy/before_symlink.rb'

# Offense count: 1
Style/MixinUsage:
  Exclude:
    - 'app/bot/bot.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
  Exclude:
    - 'spec/**/*'
    - 'app/controllers/api/v1/callbacks_controller.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
  Exclude:
    - 'app/models/channel/facebook_page.rb'
