# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2019-10-23 16:47:02 +0530 using RuboCop version 0.73.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.

# 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/action_cable_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: 10
# 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'

# 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'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: MaxKeyValuePairs.
Performance/RedundantMerge:
  Exclude:
    - 'app/controllers/api/v1/callbacks_controller.rb'
    - 'app/models/message.rb'

# Offense count: 1
# Cop supports --auto-correct.
Performance/StringReplacement:
  Exclude:
    - 'lib/events/base.rb'

# Offense count: 4
# Configuration parameters: Prefixes.
# Prefixes: when, with, without
RSpec/ContextWording:
  Exclude:
    - 'spec/models/contact_spec.rb'
    - 'spec/models/user_spec.rb'

# Offense count: 1
RSpec/DescribeClass:
  Exclude:
    - 'spec/mailers/confirmation_instructions_spec.rb'

# Offense count: 1
RSpec/DescribeSymbol:
  Exclude:
    - 'spec/mailers/confirmation_instructions_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowConsecutiveOneLiners.
RSpec/EmptyLineAfterExample:
  Exclude:
    - 'spec/models/user_spec.rb'

# Offense count: 1
# Configuration parameters: Max.
RSpec/ExampleLength:
  Exclude:
    - 'spec/models/conversation_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: single_line_only, single_statement_only, disallow
RSpec/ImplicitSubject:
  Exclude:
    - 'spec/models/user_spec.rb'

# Offense count: 7
# Configuration parameters: AggregateFailuresByDefault.
RSpec/MultipleExpectations:
  Max: 7

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: not_to, to_not
RSpec/NotToNot:
  Exclude:
    - 'spec/mailers/confirmation_instructions_spec.rb'

# Offense count: 1
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
RSpec/VerifiedDoubles:
  Exclude:
    - 'spec/models/conversation_spec.rb'

# Offense count: 4
# Cop supports --auto-correct.
Rails/ActiveRecordAliases:
  Exclude:
    - 'app/controllers/api/v1/agents_controller.rb'
    - 'app/controllers/api/v1/callbacks_controller.rb'
    - 'app/controllers/api/v1/canned_responses_controller.rb'
    - 'app/controllers/api/v1/contacts_controller.rb'

# Offense count: 2
# Cop supports --auto-correct.
Rails/BelongsTo:
  Exclude:
    - 'app/models/message.rb'
    - 'app/models/user.rb'

# Offense count: 6
# Cop supports --auto-correct.
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/EnumHash:
  Exclude:
    - 'app/models/attachment.rb'
    - 'app/models/conversation.rb'
    - 'app/models/message.rb'
    - 'app/models/user.rb'

# Offense count: 1
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
  Exclude:
    - 'app/models/user.rb'

# Offense count: 1
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/InverseOf:
  Exclude:
    - 'app/models/user.rb'

# Offense count: 1
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb
Rails/LexicallyScopedActionFilter:
  Exclude:
    - 'app/controllers/home_controller.rb'

# Offense count: 2
# Configuration parameters: Include.
# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
Rails/Output:
  Exclude:
    - 'app/bot/bot.rb'
    - 'app/builders/account_builder.rb'

# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: strict, flexible
Rails/TimeZone:
  Exclude:
    - 'app/builders/report_builder.rb'
    - 'lib/reports/update_account_identity.rb'
    - 'lib/reports/update_agent_identity.rb'
    - 'lib/reports/update_identity.rb'
    - 'spec/models/conversation_spec.rb'

# Offense count: 8
# Cop supports --auto-correct.
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/Validation:
  Exclude:
    - 'app/models/canned_response.rb'
    - 'app/models/channel/facebook_page.rb'
    - 'app/models/facebook_page.rb'
    - 'app/models/telegram_bot.rb'
    - 'app/models/user.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: AllowIfModifier.
Style/IfInsideElse:
  Exclude:
    - 'app/finders/conversation_finder.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'
