Style/Documentation: Enabled: false Lint/MissingCopEnableDirective: Exclude: - 'lib/import/factory.rb' - 'lib/import/helper.rb' - 'lib/import/otrs/async.rb' - 'lib/import/otrs/history.rb' - 'lib/import/otrs/priority_factory.rb' - 'lib/import/otrs/state_factory.rb' - 'lib/import/otrs/user_factory.rb' - 'lib/import/transaction_factory.rb' Metrics/AbcSize: Max: 34 Exclude: - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/application_controller/handles_devices.rb' - 'app/controllers/application_controller/handles_errors.rb' - 'app/controllers/application_controller/logs_http_access.rb' - 'app/controllers/channels_email_controller.rb' - 'app/controllers/concerns/creates_ticket_articles.rb' - 'app/controllers/first_steps_controller.rb' - 'app/controllers/form_controller.rb' - 'app/controllers/getting_started_controller.rb' - 'app/controllers/import_otrs_controller.rb' - 'app/controllers/import_zendesk_controller.rb' - 'app/controllers/integration/check_mk_controller.rb' - 'app/controllers/knowledge_base/search_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/organizations_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/sessions_controller.rb' - 'app/controllers/ticket_articles_controller.rb' - 'app/controllers/ticket_overviews_controller.rb' - 'app/controllers/tickets_controller.rb' - 'app/controllers/time_accountings_controller.rb' - 'app/controllers/user_access_token_controller.rb' - 'app/controllers/users_controller.rb' - 'app/jobs/communicate_facebook_job.rb' - 'app/jobs/communicate_sms_job.rb' - 'app/jobs/communicate_telegram_job.rb' - 'app/jobs/communicate_twitter_job.rb' - 'app/jobs/ticket_article_communicate_email_job.rb' - 'app/models/activity_stream/assets.rb' - 'app/models/application_model/can_associations.rb' - 'app/models/application_model/can_cleanup_param.rb' - 'app/models/application_model/checks_attribute_values_and_length.rb' - 'app/models/authorization.rb' - 'app/models/avatar.rb' - 'app/models/calendar.rb' - 'app/models/channel.rb' - 'app/models/channel/assets.rb' - 'app/models/channel/driver/imap.rb' - 'app/models/channel/driver/pop3.rb' - 'app/models/channel/driver/smtp.rb' - 'app/models/channel/driver/twitter.rb' - 'app/models/channel/email_build.rb' - 'app/models/channel/email_parser.rb' - 'app/models/channel/filter/auto_response_check.rb' - 'app/models/channel/filter/bounce_delivery_permanent_failed.rb' - 'app/models/channel/filter/bounce_follow_up_check.rb' - 'app/models/channel/filter/database.rb' - 'app/models/channel/filter/follow_up_check.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/channel/filter/monitoring_base.rb' - 'app/models/channel/filter/reply_to_based_sender.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/chat/session/assets.rb' - 'app/models/concerns/can_clone_attachments.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/has_history.rb' - 'app/models/concerns/has_rich_text.rb' - 'app/models/cti/caller_id.rb' - 'app/models/cti/driver/base.rb' - 'app/models/cti/driver/placetel.rb' - 'app/models/cti/driver/sipgate_io.rb' - 'app/models/cti/log.rb' - 'app/models/history.rb' - 'app/models/link.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/online_notification/assets.rb' - 'app/models/organization/assets.rb' - 'app/models/organization/search.rb' - 'app/models/overview/assets.rb' - 'app/models/package.rb' - 'app/models/package/migration.rb' - 'app/models/report.rb' - 'app/models/setting.rb' - 'app/models/tag/item.rb' - 'app/models/ticket.rb' - 'app/models/ticket/article.rb' - 'app/models/ticket/article/assets.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/overviews.rb' - 'app/models/ticket/screen_options.rb' - 'app/models/ticket/search.rb' - 'app/models/ticket/search_index.rb' - 'app/models/ticket/sets_last_owner_update_time.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/signature_detection.rb' - 'app/models/transaction/slack.rb' - 'app/models/translation.rb' - 'app/models/trigger/assets.rb' - 'app/models/user.rb' - 'app/models/user/assets.rb' - 'app/models/user/search.rb' - 'app/models/user_device.rb' - 'db/migrate/20120101000001_create_base.rb' - 'db/migrate/20120101000010_create_ticket.rb' - 'db/migrate/20161117000001_job_unable_to_create_issue_432.rb' - 'db/migrate/20170403000001_fixed_admin_user_permission_920.rb' - 'db/migrate/20171023000001_fixed_store_upgrade_ror_45.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'db/migrate/20181017000001_cti_generic_api2.rb' - 'db/migrate/20190531180304_initialize_knowledge_base.rb' - 'lib/auto_wizard.rb' - 'lib/calendar_subscriptions.rb' - 'lib/calendar_subscriptions/tickets.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/email_helper/verify.rb' - 'lib/excel_sheet.rb' - 'lib/excel_sheet/ticket.rb' - 'lib/external_credential/exchange.rb' - 'lib/external_credential/facebook.rb' - 'lib/external_credential/google.rb' - 'lib/external_credential/microsoft365.rb' - 'lib/external_credential/twitter.rb' - 'lib/facebook.rb' - 'lib/fill_db.rb' - 'lib/import/otrs.rb' - 'lib/models.rb' - 'lib/notification_factory/mailer.rb' - 'lib/notification_factory/renderer.rb' - 'lib/report/article_by_type_sender.rb' - 'lib/report/base.rb' - 'lib/report/ticket_first_solution.rb' - 'lib/report/ticket_generic_time.rb' - 'lib/report/ticket_moved.rb' - 'lib/search_index_backend.rb' - 'lib/secure_mailing/smime/incoming.rb' - 'lib/selector/search_index.rb' - 'lib/selector/sql.rb' - 'lib/sequencer/state.rb' - 'lib/sequencer/unit/exchange/connection.rb' - 'lib/session_helper/collection_base.rb' - 'lib/session_helper/collection_ticket.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/sessions/event/chat_session_start.rb' - 'lib/signature_detection.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/stats/ticket_in_process.rb' - 'lib/stats/ticket_waiting_time.rb' - 'lib/telegram_helper.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'lib/websocket_server.rb' - 'spec/**/*' - 'test/**/*' Metrics/BlockLength: Exclude: - 'Gemfile' - 'config/initializers/mariadb_json_columns.rb' - 'app/models/ticket/can_selector.rb' - 'app/models/concerns/can_selector.rb' - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/time_accountings_controller.rb' - 'app/models/application_model/can_assets.rb' - 'app/models/application_model/can_associations.rb' - 'app/models/application_model/can_cleanup_param.rb' - 'app/models/application_model/can_creates_and_updates.rb' - 'app/models/application_model/can_lookup.rb' - 'app/models/channel.rb' - 'app/models/channel/driver/imap.rb' - 'app/models/channel/driver/pop3.rb' - 'app/models/channel/email_parser.rb' - 'app/models/channel/filter/bounce_delivery_permanent_failed.rb' - 'app/models/channel/filter/database.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/chat/session/search.rb' - 'app/models/concerns/can_be_published.rb' - 'app/models/concerns/can_clone_attachments.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/has_groups.rb' - 'app/models/concerns/has_history.rb' - 'app/models/concerns/has_rich_text.rb' - 'app/models/job.rb' - 'app/models/knowledge_base/search.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/organization/search.rb' - 'app/models/package.rb' - 'app/models/package/migration.rb' - 'app/models/ticket.rb' - 'app/models/ticket/overviews.rb' - 'app/models/ticket/search.rb' - 'lib/selector/search_index.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/slack.rb' - 'app/models/translation.rb' - 'app/models/user/search.rb' - 'config/environments/development.rb' - 'config/initializers/omniauth.rb' - 'config/routes/knowledge_base.rb' - 'config/routes/user.rb' - 'config/routes/test.rb' - 'config/routes/ticket.rb' - 'db/migrate/20120101000001_create_base.rb' - 'db/migrate/20120101000010_create_ticket.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'lib/can_be_published/state_machine.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper.rb' - 'lib/facebook.rb' - 'lib/fill_db.rb' - 'lib/notification_factory/renderer.rb' - 'lib/report/ticket_first_solution.rb' - 'lib/report/ticket_generic_time.rb' - 'lib/report/ticket_moved.rb' - 'lib/report/ticket_reopened.rb' - 'lib/search_index_backend.rb' - 'lib/sequencer/unit/exchange/connection.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/tasks/zammad/search_index_es.rake' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'script/websocket-server.rb' - 'spec/**/*' - 'test/**/*' Metrics/BlockNesting: Exclude: - 'app/controllers/import_otrs_controller.rb' - 'app/models/chat.rb' - 'app/models/concerns/has_history.rb' - 'app/models/object_manager/attribute.rb' - 'lib/notification_factory/mailer.rb' - 'lib/twitter_sync.rb' - 'test/browser_test_helper.rb' Metrics/CyclomaticComplexity: Max: 12 Exclude: - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/application_controller/handles_devices.rb' - 'app/controllers/application_controller/handles_errors.rb' - 'app/controllers/channels_email_controller.rb' - 'app/controllers/concerns/creates_ticket_articles.rb' - 'app/controllers/form_controller.rb' - 'app/controllers/getting_started_controller.rb' - 'app/controllers/import_otrs_controller.rb' - 'app/controllers/integration/check_mk_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/tickets_controller.rb' - 'app/controllers/time_accountings_controller.rb' - 'app/controllers/users_controller.rb' - 'app/jobs/communicate_sms_job.rb' - 'app/jobs/communicate_telegram_job.rb' - 'app/jobs/communicate_twitter_job.rb' - 'app/jobs/ticket_article_communicate_email_job.rb' - 'app/models/application_model/can_associations.rb' - 'app/models/application_model/can_cleanup_param.rb' - 'app/models/application_model/checks_attribute_values_and_length.rb' - 'app/models/authorization.rb' - 'app/models/avatar.rb' - 'app/models/calendar.rb' - 'app/models/channel.rb' - 'app/models/channel/assets.rb' - 'app/models/channel/driver/imap.rb' - 'app/models/channel/driver/pop3.rb' - 'app/models/channel/driver/smtp.rb' - 'app/models/channel/driver/twitter.rb' - 'app/models/channel/email_build.rb' - 'app/models/channel/email_parser.rb' - 'app/models/channel/filter/auto_response_check.rb' - 'app/models/channel/filter/bounce_delivery_permanent_failed.rb' - 'app/models/channel/filter/database.rb' - 'app/models/channel/filter/follow_up_check.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/channel/filter/monitoring_base.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/concerns/can_clone_attachments.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/has_history.rb' - 'app/models/cti/caller_id.rb' - 'app/models/cti/driver/base.rb' - 'app/models/cti/driver/placetel.rb' - 'app/models/cti/driver/sipgate_io.rb' - 'app/models/cti/log.rb' - 'app/models/history.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/organization/search.rb' - 'app/models/package/migration.rb' - 'app/models/ticket.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/screen_options.rb' - 'app/models/ticket/search.rb' - 'app/models/ticket/sets_last_owner_update_time.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/slack.rb' - 'app/models/user.rb' - 'app/models/user/assets.rb' - 'app/models/user/search.rb' - 'app/models/user_device.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'lib/auto_wizard.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/excel_sheet.rb' - 'lib/external_credential/google.rb' - 'lib/external_credential/microsoft365.rb' - 'lib/external_credential/twitter.rb' - 'lib/facebook.rb' - 'lib/fill_db.rb' - 'lib/models.rb' - 'lib/notification_factory/mailer.rb' - 'lib/notification_factory/renderer.rb' - 'lib/report/base.rb' - 'lib/report/ticket_first_solution.rb' - 'lib/report/ticket_generic_time.rb' - 'lib/report/ticket_moved.rb' - 'lib/search_index_backend.rb' - 'lib/secure_mailing/smime/incoming.rb' - 'lib/selector/search_index.rb' - 'lib/selector/sql.rb' - 'lib/sequencer/unit/exchange/connection.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/signature_detection.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/telegram_helper.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'test/**/*' Metrics/ModuleLength: Exclude: - 'app/models/ticket/can_selector.rb' - 'app/models/concerns/can_selector.rb' - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/application_controller/renders_models.rb' - 'app/models/application_model/can_assets.rb' - 'app/models/application_model/can_associations.rb' - 'app/models/application_model/can_creates_and_updates.rb' - 'app/models/channel/email_build.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/concerns/can_be_published.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/has_groups.rb' - 'app/models/concerns/has_history.rb' - 'app/models/concerns/has_rich_text.rb' - 'app/models/concerns/has_search_index_backend.rb' - 'app/models/ticket/escalation.rb' - 'app/models/ticket/overviews.rb' - 'app/models/ticket/screen_options.rb' - 'app/models/ticket/search.rb' - 'app/models/user/search.rb' - 'lib/auto_wizard.rb' - 'lib/fill_db.rb' - 'lib/import/otrs.rb' - 'lib/sessions.rb' - 'lib/sessions/node.rb' - 'lib/signature_detection.rb' - 'lib/transaction_dispatcher.rb' - 'spec/support/capybara/common_actions.rb' Metrics/PerceivedComplexity: Max: 12 Exclude: - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/application_controller/handles_devices.rb' - 'app/controllers/application_controller/handles_errors.rb' - 'app/controllers/channels_email_controller.rb' - 'app/controllers/concerns/creates_ticket_articles.rb' - 'app/controllers/form_controller.rb' - 'app/controllers/getting_started_controller.rb' - 'app/controllers/import_otrs_controller.rb' - 'app/controllers/integration/check_mk_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/tickets_controller.rb' - 'app/controllers/time_accountings_controller.rb' - 'app/controllers/users_controller.rb' - 'app/jobs/communicate_sms_job.rb' - 'app/jobs/communicate_telegram_job.rb' - 'app/jobs/communicate_twitter_job.rb' - 'app/jobs/ticket_article_communicate_email_job.rb' - 'app/models/application_model/can_associations.rb' - 'app/models/application_model/can_cleanup_param.rb' - 'app/models/application_model/checks_attribute_values_and_length.rb' - 'app/models/authorization.rb' - 'app/models/avatar.rb' - 'app/models/calendar.rb' - 'app/models/channel.rb' - 'app/models/channel/assets.rb' - 'app/models/channel/driver/imap.rb' - 'app/models/channel/driver/pop3.rb' - 'app/models/channel/driver/smtp.rb' - 'app/models/channel/driver/twitter.rb' - 'app/models/channel/email_build.rb' - 'app/models/channel/email_parser.rb' - 'app/models/channel/filter/auto_response_check.rb' - 'app/models/channel/filter/bounce_delivery_permanent_failed.rb' - 'app/models/channel/filter/database.rb' - 'app/models/channel/filter/follow_up_check.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/channel/filter/monitoring_base.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/concerns/can_clone_attachments.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/has_history.rb' - 'app/models/cti/caller_id.rb' - 'app/models/cti/driver/base.rb' - 'app/models/cti/driver/placetel.rb' - 'app/models/cti/driver/sipgate_io.rb' - 'app/models/cti/log.rb' - 'app/models/history.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/organization/search.rb' - 'app/models/package.rb' - 'app/models/package/migration.rb' - 'app/models/setting.rb' - 'app/models/ticket.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/screen_options.rb' - 'app/models/ticket/search.rb' - 'app/models/ticket/sets_last_owner_update_time.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/slack.rb' - 'app/models/user.rb' - 'app/models/user/assets.rb' - 'app/models/user/search.rb' - 'app/models/user_device.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'db/migrate/20181017000001_cti_generic_api2.rb' - 'lib/auto_wizard.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/excel_sheet.rb' - 'lib/external_credential/google.rb' - 'lib/external_credential/microsoft365.rb' - 'lib/external_credential/twitter.rb' - 'lib/facebook.rb' - 'lib/fill_db.rb' - 'lib/models.rb' - 'lib/notification_factory/mailer.rb' - 'lib/notification_factory/renderer.rb' - 'lib/report/base.rb' - 'lib/report/ticket_generic_time.rb' - 'lib/search_index_backend.rb' - 'lib/secure_mailing/smime/incoming.rb' - 'lib/selector/search_index.rb' - 'lib/selector/sql.rb' - 'lib/sequencer/unit/exchange/connection.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/signature_detection.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/telegram_helper.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'test/browser_test_helper.rb' Rails/CreateTableWithTimestamps: Exclude: - 'db/migrate/20120101000001_create_base.rb' - 'db/migrate/20120101000010_create_ticket.rb' - 'db/migrate/20170419000002_overview_role_ids.rb' - 'db/migrate/20170608151442_enhanced_permissions.rb' Rails/HasManyOrHasOneDependent: Exclude: - 'app/models/chat/session.rb' - 'app/models/concerns/has_groups.rb' - 'app/models/email_address.rb' - 'app/models/organization.rb' - 'app/models/signature.rb' - 'app/models/ticket/state_type.rb' - 'app/models/user.rb' Style/OptionalBooleanParameter: Exclude: - 'app/models/application_model/can_activity_stream_log.rb' - 'app/models/application_model/can_cleanup_param.rb' - 'app/models/avatar.rb' - 'app/models/channel.rb' - 'app/models/channel/driver/facebook.rb' - 'app/models/channel/driver/sendmail.rb' - 'app/models/channel/driver/sms/massenversand.rb' - 'app/models/channel/driver/sms/message_bird.rb' - 'app/models/channel/driver/sms/twilio.rb' - 'app/models/channel/driver/smtp.rb' - 'app/models/channel/driver/telegram.rb' - 'app/models/channel/driver/twitter.rb' - 'app/models/channel/driver/whatsapp.rb' - 'app/models/channel/email_build.rb' - 'app/models/channel/email_parser.rb' - 'app/models/chat/session.rb' - 'app/models/concerns/has_history.rb' - 'app/models/job.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/package.rb' - 'app/models/setting.rb' - 'app/models/store/file.rb' - 'app/models/text_module.rb' - 'app/models/ticket/escalation.rb' - 'app/models/translation.rb' - 'app/models/user.rb' - 'lib/app_version.rb' - 'lib/core_ext/string.rb' - 'lib/external_credential/facebook.rb' - 'lib/external_credential/google.rb' - 'lib/external_credential/microsoft365.rb' - 'lib/external_credential/exchange.rb' - 'lib/external_credential/twitter.rb' - 'lib/html_sanitizer.rb' - 'lib/models.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/node.rb' - 'spec/support/system_init_done.rb' - 'test/browser_test_helper.rb' Style/ReturnNilInPredicateMethodDefinition: Exclude: - app/models/application_model/can_lookup_search_index_attributes.rb - app/models/channel/filter/import_archive.rb - app/models/core_workflow/attributes.rb - app/models/core_workflow/condition.rb - app/models/ticket/article/adds_metadata_email.rb - app/models/ticket/article/adds_metadata_general.rb - app/models/ticket/article/adds_metadata_origin_by_id.rb - lib/selector/base.rb - app/models/trigger.rb - app/models/user/avatar.rb - app/policies/ticket/shared_draft_start_policy.rb - app/services/service/ticket/create.rb - lib/auth/backend/ldap.rb - lib/enrichment/clearbit/organization.rb - lib/enrichment/clearbit/user.rb - lib/html_sanitizer/scrubber/link.rb - lib/html_sanitizer/scrubber/remove_last_empty_node.rb - lib/html_sanitizer/scrubber/wipe.rb - lib/import/otrs/diff.rb - lib/search_index_backend.rb - lib/sequencer/unit/import/kayako/sub_sequence/generic.rb - lib/sessions/event/base.rb