169 lines
5.4 KiB
YAML
169 lines
5.4 KiB
YAML
require:
|
|
- rubocop-performance
|
|
- rubocop-rails
|
|
- rubocop-rspec
|
|
inherit_from: .rubocop_todo.yml
|
|
|
|
Layout/LineLength:
|
|
Max: 150
|
|
|
|
Metrics/ClassLength:
|
|
Max: 125
|
|
Exclude:
|
|
- 'app/models/conversation.rb'
|
|
- 'app/mailers/conversation_reply_mailer.rb'
|
|
- 'app/models/message.rb'
|
|
- 'app/builders/messages/facebook/message_builder.rb'
|
|
- 'app/controllers/api/v1/accounts/contacts_controller.rb'
|
|
RSpec/ExampleLength:
|
|
Max: 25
|
|
Style/Documentation:
|
|
Enabled: false
|
|
Style/ExponentialNotation:
|
|
Enabled: false
|
|
Style/FrozenStringLiteralComment:
|
|
Enabled: false
|
|
Style/SymbolArray:
|
|
Enabled: false
|
|
Style/OptionalBooleanParameter:
|
|
Exclude:
|
|
- 'app/services/email_templates/db_resolver_service.rb'
|
|
- 'app/dispatchers/dispatcher.rb'
|
|
Style/GlobalVars:
|
|
Exclude:
|
|
- 'config/initializers/01_redis.rb'
|
|
- 'config/initializers/rack_attack.rb'
|
|
- 'lib/redis/alfred.rb'
|
|
- 'lib/global_config.rb'
|
|
Style/ClassVars:
|
|
Exclude:
|
|
- 'app/services/email_templates/db_resolver_service.rb'
|
|
Lint/MissingSuper:
|
|
Exclude:
|
|
- 'app/drops/base_drop.rb'
|
|
Lint/SymbolConversion:
|
|
Enabled: false
|
|
Lint/EmptyBlock:
|
|
Exclude:
|
|
- 'app/views/api/v1/accounts/conversations/toggle_status.json.jbuilder'
|
|
Lint/OrAssignmentToConstant:
|
|
Exclude:
|
|
- 'lib/redis/config.rb'
|
|
Metrics/BlockLength:
|
|
Exclude:
|
|
- spec/**/*
|
|
- '**/routes.rb'
|
|
- 'config/environments/*'
|
|
- db/schema.rb
|
|
Metrics/ModuleLength:
|
|
Exclude:
|
|
- lib/woot_message_seeder.rb
|
|
Rails/ApplicationController:
|
|
Exclude:
|
|
- 'app/controllers/api/v1/widget/messages_controller.rb'
|
|
- 'app/controllers/dashboard_controller.rb'
|
|
- 'app/controllers/widget_tests_controller.rb'
|
|
- 'app/controllers/widgets_controller.rb'
|
|
- 'app/controllers/platform_controller.rb'
|
|
- 'app/controllers/public_controller.rb'
|
|
- 'app/controllers/survey/responses_controller.rb'
|
|
Rails/EnvironmentVariableAccess:
|
|
Enabled: false
|
|
Rails/TimeZoneAssignment:
|
|
Enabled: false
|
|
Style/ClassAndModuleChildren:
|
|
EnforcedStyle: compact
|
|
Exclude:
|
|
- 'config/application.rb'
|
|
RSpec/NestedGroups:
|
|
Enabled: true
|
|
Max: 4
|
|
RSpec/MessageSpies:
|
|
Enabled: false
|
|
RSpec/StubbedMock:
|
|
Enabled: false
|
|
Naming/VariableNumber:
|
|
Enabled: false
|
|
Metrics/MethodLength:
|
|
Exclude:
|
|
- 'db/migrate/20161123131628_devise_token_auth_create_users.rb'
|
|
Rails/CreateTableWithTimestamps:
|
|
Exclude:
|
|
- 'db/migrate/20170207092002_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb'
|
|
Style/GuardClause:
|
|
Exclude:
|
|
- 'app/builders/account_builder.rb'
|
|
- 'app/models/attachment.rb'
|
|
- 'app/models/message.rb'
|
|
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
|
|
Metrics/AbcSize:
|
|
Exclude:
|
|
- 'app/controllers/concerns/auth_helper.rb'
|
|
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
|
|
- 'db/migrate/20161123131628_devise_token_auth_create_users.rb'
|
|
- 'app/controllers/api/v1/accounts/inboxes_controller.rb'
|
|
Metrics/CyclomaticComplexity:
|
|
Max: 7
|
|
Exclude:
|
|
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
|
|
Rails/ReversibleMigration:
|
|
Exclude:
|
|
- 'db/migrate/20161025070152_removechannelsfrommodels.rb'
|
|
- 'db/migrate/20161025070645_remchannel.rb'
|
|
- 'db/migrate/20161025070645_remchannel.rb'
|
|
- 'db/migrate/20161110102609_removeinboxid.rb'
|
|
- 'db/migrate/20170519091539_add_avatar_to_fb.rb'
|
|
- 'db/migrate/20191020085608_rename_old_tables.rb'
|
|
- 'db/migrate/20191126185833_update_user_invite_foreign_key.rb'
|
|
- 'db/migrate/20191130164019_add_template_type_to_messages.rb'
|
|
Rails/BulkChangeTable:
|
|
Exclude:
|
|
- 'db/migrate/20161025070152_removechannelsfrommodels.rb'
|
|
- 'db/migrate/20200121190901_create_account_users.rb'
|
|
- 'db/migrate/20170211092540_notnullableusers.rb'
|
|
- 'db/migrate/20170403095203_contactadder.rb'
|
|
- 'db/migrate/20170406104018_add_default_status_conv.rb'
|
|
- 'db/migrate/20170511134418_latlong.rb'
|
|
- 'db/migrate/20191027054756_create_contact_inboxes.rb'
|
|
- 'db/migrate/20191130164019_add_template_type_to_messages.rb'
|
|
- 'db/migrate/20210425093724_convert_integration_hook_settings_field.rb'
|
|
Rails/UniqueValidationWithoutIndex:
|
|
Exclude:
|
|
- 'app/models/channel/twitter_profile.rb'
|
|
- 'app/models/webhook.rb'
|
|
- 'app/models/contact.rb'
|
|
- 'app/models/integrations/hook.rb'
|
|
Rails/RenderInline:
|
|
Exclude:
|
|
- 'app/controllers/swagger_controller.rb'
|
|
Performance/CollectionLiteralInLoop:
|
|
Exclude:
|
|
- 'db/migrate/20210315101919_enable_email_channel.rb'
|
|
RSpec/NamedSubject:
|
|
Enabled: false
|
|
# we should bring this down
|
|
RSpec/MultipleMemoizedHelpers:
|
|
Max: 12
|
|
|
|
AllCops:
|
|
NewCops: enable
|
|
Exclude:
|
|
- 'bin/**/*'
|
|
- 'db/schema.rb'
|
|
- 'public/**/*'
|
|
- 'config/initializers/bot.rb'
|
|
- 'vendor/**/*'
|
|
- 'node_modules/**/*'
|
|
- 'lib/tasks/auto_annotate_models.rake'
|
|
- 'config/environments/**/*'
|
|
- 'tmp/**/*'
|
|
- 'storage/**/*'
|
|
- 'db/migrate/20200225162150_init_schema.rb'
|
|
- 'db/migrate/20210611180222_create_active_storage_variant_records.active_storage.rb'
|
|
- 'db/migrate/20210611180221_add_service_name_to_active_storage_blobs.active_storage.rb'
|
|
- db/migrate/20200309213132_add_account_id_to_agent_bot_inboxes.rb
|
|
- db/migrate/20200331095710_add_identifier_to_contact.rb
|
|
- db/migrate/20200429082655_add_medium_to_twilio_sms.rb
|
|
- db/migrate/20200503151130_add_account_feature_flag.rb
|
|
- db/migrate/20200927135222_add_last_activity_at_to_conversation.rb
|
|
- db/migrate/20210306170117_add_last_activity_at_to_contacts.rb
|