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: Exclude: - 'app/controllers/activity_stream_controller.rb' - 'app/controllers/application_controller/authenticates.rb' - 'app/controllers/application_controller/handles_devices.rb' - 'app/controllers/application_controller/handles_errors.rb' - 'app/controllers/application_controller/has_user.rb' - 'app/controllers/application_controller/logs_http_access.rb' - 'app/controllers/application_controller/prevents_csrf.rb' - 'app/controllers/application_controller/renders_models.rb' - 'app/controllers/applications_controller.rb' - 'app/controllers/attachments_controller.rb' - 'app/controllers/channels_email_controller.rb' - 'app/controllers/channels_google_controller.rb' - 'app/controllers/channels_microsoft365_controller.rb' - 'app/controllers/channels_sms_controller.rb' - 'app/controllers/channels_telegram_controller.rb' - 'app/controllers/channels_twitter_controller.rb' - 'app/controllers/concerns/checks_user_attributes_by_current_user_permission.rb' - 'app/controllers/concerns/creates_ticket_articles.rb' - 'app/controllers/concerns/ticket_stats.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/import_freshdesk_controller.rb' - 'app/controllers/integration/check_mk_controller.rb' - 'app/controllers/integration/cti_controller.rb' - 'app/controllers/integration/idoit_controller.rb' - 'app/controllers/integration/placetel_controller.rb' - 'app/controllers/integration/sipgate_controller.rb' - 'app/controllers/integration/smime_controller.rb' - 'app/controllers/knowledge_base/answers_controller.rb' - 'app/controllers/knowledge_base/categories_controller.rb' - 'app/controllers/knowledge_base/manage_controller.rb' - 'app/controllers/knowledge_base/public/answers_controller.rb' - 'app/controllers/knowledge_base/public/categories_controller.rb' - 'app/controllers/knowledge_base/search_controller.rb' - 'app/controllers/knowledge_bases_controller.rb' - 'app/controllers/links_controller.rb' - 'app/controllers/long_polling_controller.rb' - 'app/controllers/monitoring_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/online_notifications_controller.rb' - 'app/controllers/organizations_controller.rb' - 'app/controllers/recent_view_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/search_controller.rb' - 'app/controllers/sessions_controller.rb' - 'app/controllers/settings_controller.rb' - 'app/controllers/text_modules_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/upload_caches_controller.rb' - 'app/controllers/user_access_token_controller.rb' - 'app/controllers/user_devices_controller.rb' - 'app/controllers/users_controller.rb' - 'app/helpers/knowledge_base_rich_text_helper.rb' - 'app/jobs/collection_update_job.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/concerns/has_active_job_lock.rb' - 'app/jobs/imap_authentication_migration_cleanup_job.rb' - 'app/jobs/migrate_ldap_samaccountname_to_uid_job.rb' - 'app/jobs/ticket_article_communicate_email_job.rb' - 'app/jobs/ticket_user_ticket_counter_job.rb' - 'app/models/activity_stream.rb' - 'app/models/activity_stream/assets.rb' - 'app/models/application_model/can_activity_stream_log.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/application_model/can_lookup_search_index_attributes.rb' - 'app/models/application_model/checks_attribute_values_and_length.rb' - 'app/models/application_model/checks_user_columns_fillup.rb' - 'app/models/application_model/has_attachments.rb' - 'app/models/application_model/has_cache.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/facebook.rb' - 'app/models/channel/driver/imap.rb' - 'app/models/channel/driver/pop3.rb' - 'app/models/channel/driver/sendmail.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/follow_up_merged.rb' - 'app/models/channel/filter/follow_up_possible_check.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/channel/filter/monitoring_base.rb' - 'app/models/channel/filter/out_of_office_check.rb' - 'app/models/channel/filter/own_notification_loop_detection.rb' - 'app/models/channel/filter/reply_to_based_sender.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/chat.rb' - 'app/models/chat/session.rb' - 'app/models/chat/session/assets.rb' - 'app/models/chat/session/search.rb' - 'app/models/concerns/can_clone_attachments.rb' - 'app/models/concerns/can_csv_import.rb' - 'app/models/concerns/checks_condition_validation.rb' - 'app/models/concerns/has_group_relation_definition.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/concerns/has_search_sortable.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/external_sync.rb' - 'app/models/history.rb' - 'app/models/import_job.rb' - 'app/models/job.rb' - 'app/models/job/assets.rb' - 'app/models/karma/activity_log.rb' - 'app/models/knowledge_base.rb' - 'app/models/knowledge_base/answer.rb' - 'app/models/knowledge_base/category.rb' - 'app/models/knowledge_base/search.rb' - 'app/models/link.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/online_notification.rb' - 'app/models/online_notification/assets.rb' - 'app/models/organization/assets.rb' - 'app/models/organization/search.rb' - 'app/models/overview.rb' - 'app/models/overview/assets.rb' - 'app/models/package.rb' - 'app/models/package/migration.rb' - 'app/models/postmaster_filter.rb' - 'app/models/recent_view.rb' - 'app/models/recent_view/assets.rb' - 'app/models/report.rb' - 'app/models/role.rb' - 'app/models/role/assets.rb' - 'app/models/scheduler.rb' - 'app/models/setting.rb' - 'app/models/sla/assets.rb' - 'app/models/smime_certificate.rb' - 'app/models/store.rb' - 'app/models/store/file.rb' - 'app/models/store/provider/file.rb' - 'app/models/tag.rb' - 'app/models/tag/item.rb' - 'app/models/taskbar.rb' - 'app/models/text_module.rb' - 'app/models/ticket.rb' - 'app/models/ticket/article.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' - 'app/models/ticket/article/assets.rb' - 'app/models/ticket/article/enqueue_communicate_email_job.rb' - 'app/models/ticket/article/enqueue_communicate_facebook_job.rb' - 'app/models/ticket/article/enqueue_communicate_sms_job.rb' - 'app/models/ticket/article/enqueue_communicate_telegram_job.rb' - 'app/models/ticket/article/enqueue_communicate_twitter_job.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/article/resets_ticket_state.rb' - 'app/models/ticket/assets.rb' - 'app/models/ticket/escalation.rb' - 'app/models/ticket/number/date.rb' - 'app/models/ticket/number/increment.rb' - 'app/models/ticket/overviews.rb' - 'app/models/ticket/priority.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/ticket/state.rb' - 'app/models/ticket/subject.rb' - 'app/models/ticket/touches_associations.rb' - 'app/models/token.rb' - 'app/models/transaction.rb' - 'app/models/transaction/clearbit_enrichment.rb' - 'app/models/transaction/cti_caller_id_detection.rb' - 'app/models/transaction/karma.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/performs_geo_lookup.rb' - 'app/models/user/search.rb' - 'app/models/user/search_index.rb' - 'app/models/user_device.rb' - 'app/policies/controllers/external_credentials_controller_policy.rb' - 'app/policies/ticket/article_policy.rb' - 'app/policies/ticket_policy.rb' - 'db/migrate/20120101000001_create_base.rb' - 'db/migrate/20120101000010_create_ticket.rb' - 'db/migrate/20150979000001_update_timestamps.rb' - 'db/migrate/20160217000001_object_manager_update_user.rb' - 'db/migrate/20161101131409_create_doorkeeper_tables.rb' - 'db/migrate/20161117000001_job_unable_to_create_issue_432.rb' - 'db/migrate/20161117000002_ticket_number_generator_issue_427.rb' - 'db/migrate/20170113000001_object_manager_attribute_create_middle.rb' - 'db/migrate/20170113000002_slack_group_config_issue_587.rb' - 'db/migrate/20170116000001_add_ticket_time_accounting_373.rb' - 'db/migrate/20170116000002_fixed_typos_622.rb' - 'db/migrate/20170207081400_ticket_state_priority_defaults.rb' - 'db/migrate/20170403000001_fixed_admin_user_permission_920.rb' - 'db/migrate/20170419000001_ldap_support.rb' - 'db/migrate/20170419000002_overview_role_ids.rb' - 'db/migrate/20170516000001_trigger_recipient_update.rb' - 'db/migrate/20170608151442_enhanced_permissions.rb' - 'db/migrate/20170713000002_ticket_zoom_setting2.rb' - 'db/migrate/20170905140038_cti_log_preferences_migration.rb' - 'db/migrate/20170910000002_out_of_office2.rb' - 'db/migrate/20171023000001_fixed_store_upgrade_ror_45.rb' - 'db/migrate/20180226085743_issue_1660_fix_tree_select_configurations.rb' - 'db/migrate/20180410000001_cleanup_user_preferences_notification_sound2.rb' - 'db/migrate/20180426134922_issue_1977_remove_invalid_user_foreign_keys.rb' - 'db/migrate/20180716060129_issue_2019_fix_double_domain_links_in_trigger_emails.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'db/migrate/20180809000001_cti_generic_api.rb' - 'db/migrate/20181017000001_cti_generic_api2.rb' - 'db/migrate/20181123000000_issue_2368_add_indices_to_histories_and_tickets.rb' - 'db/migrate/20190408000001_issue_2541_fix_notification_email_without_body.rb' - 'db/migrate/20190409000001_setting_ticket_overview_priority_icon_and_color.rb' - 'db/migrate/20190531180304_initialize_knowledge_base.rb' - 'db/migrate/20190724000001_rename_reserved_words.rb' - 'db/migrate/20191107050249_issue_2460_fix_corrupted_twitter_ids.rb' - 'db/migrate/20200121000001_smime_support.rb' - 'lib/auto_wizard.rb' - 'lib/calendar_subscriptions.rb' - 'lib/calendar_subscriptions/tickets.rb' - 'lib/core_ext/active_record/connection_adapters/postgresql/schema_statements.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/email_helper/verify.rb' - 'lib/enrichment/clearbit/user.rb' - 'lib/excel_sheet.rb' - 'lib/excel_sheet/ticket.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/html_sanitizer.rb' - 'lib/idoit.rb' - 'lib/import/exchange/item_attributes.rb' - 'lib/import/otrs.rb' - 'lib/import/otrs/article/attachment_factory.rb' - 'lib/import/otrs/async.rb' - 'lib/import/otrs/requester.rb' - 'lib/import/otrs/state_factory.rb' - 'lib/import/otrs/user.rb' - 'lib/knowledge_base/menu_item_update_action.rb' - 'lib/ldap/group.rb' - 'lib/ldap/user.rb' - 'lib/models.rb' - 'lib/notification_factory/mailer.rb' - 'lib/notification_factory/renderer.rb' - 'lib/notification_factory/slack.rb' - 'lib/push_messages.rb' - 'lib/report/article_by_type_sender.rb' - 'lib/report/base.rb' - 'lib/report/ticket_backlog.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/secure_mailing/smime/incoming.rb' - 'lib/secure_mailing/smime/outgoing.rb' - 'lib/secure_mailing/smime/retry.rb' - 'lib/sequencer.rb' - 'lib/sequencer/state.rb' - 'lib/sequencer/unit/exchange/folders/id_path_map.rb' - 'lib/sequencer/unit/import/common/model/associations/extract.rb' - 'lib/sequencer/unit/import/exchange/attribute_examples.rb' - 'lib/sequencer/unit/import/exchange/folder_contacts/sub_sequence.rb' - 'lib/sequencer/unit/import/ldap/user/attributes/role_ids/unassigned.rb' - 'lib/sequencer/unit/import/ldap/users/sub_sequence.rb' - 'lib/sequencer/unit/import/zendesk/sub_sequence/base.rb' - 'lib/sequencer/unit/import/zendesk/ticket/comment/mapping.rb' - 'lib/sequencer/unit/import/zendesk/ticket/mapping.rb' - 'lib/sequencer/unit/import/zendesk/user/mapping.rb' - 'lib/sequencer/units/attributes.rb' - 'lib/service/geo_calendar/zammad.rb' - 'lib/service/geo_ip/zammad.rb' - 'lib/service/geo_location/gmaps.rb' - 'lib/session_helper/collection_base.rb' - 'lib/session_helper/collection_ticket.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/activity_stream.rb' - 'lib/sessions/backend/base.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/sessions/event.rb' - 'lib/sessions/event/broadcast.rb' - 'lib/sessions/event/chat_session_close.rb' - 'lib/sessions/event/chat_session_init.rb' - 'lib/sessions/event/chat_session_start.rb' - 'lib/sessions/event/chat_session_update.rb' - 'lib/sessions/event/chat_status_customer.rb' - 'lib/sessions/event/login.rb' - 'lib/sessions/event/spool.rb' - 'lib/sessions/node.rb' - 'lib/signature_detection.rb' - 'lib/static_assets.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/stats/ticket_escalation.rb' - 'lib/stats/ticket_in_process.rb' - 'lib/stats/ticket_load_measure.rb' - 'lib/stats/ticket_reopen.rb' - 'lib/stats/ticket_response_time.rb' - 'lib/stats/ticket_waiting_time.rb' - 'lib/tasks/search_index_es.rake' - 'lib/telegram.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'lib/websocket_server.rb' - 'spec/**/*' - 'test/**/*' Metrics/BlockLength: Exclude: - 'Gemfile' - '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/concerns/has_search_sortable.rb' - 'app/models/job.rb' - 'app/models/karma/activity_log.rb' - 'app/models/knowledge_base/search.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/observer/transaction.rb' - 'app/models/organization/search.rb' - 'app/models/package.rb' - 'app/models/package/migration.rb' - 'app/models/scheduler.rb' - 'app/models/ticket.rb' - 'app/models/ticket/overviews.rb' - 'app/models/ticket/search.rb' - 'app/models/ticket/search_index.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/slack.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/html_sanitizer.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/sessions.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/tasks/search_index_es.rake' - 'lib/tasks/zammad/ci/service/puma/start.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/controllers/time_accountings_controller.rb' - 'app/models/avatar.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/chat.rb' - 'app/models/concerns/has_history.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/ticket.rb' - 'app/models/transaction/karma.rb' - 'app/models/transaction/notification.rb' - 'app/models/transaction/slack.rb' - 'lib/html_sanitizer.rb' - 'lib/notification_factory/mailer.rb' - 'lib/search_index_backend.rb' - 'lib/twitter_sync.rb' - 'test/browser_test_helper.rb' Metrics/CyclomaticComplexity: Exclude: - 'app/models/ticket.rb' - '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/application_controller/renders_models.rb' - 'app/controllers/channels_email_controller.rb' - 'app/controllers/channels_google_controller.rb' - 'app/controllers/channels_microsoft365_controller.rb' - 'app/controllers/channels_twitter_controller.rb' - 'app/controllers/concerns/checks_user_attributes_by_current_user_permission.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/import_freshdesk_controller.rb' - 'app/controllers/integration/check_mk_controller.rb' - 'app/controllers/integration/smime_controller.rb' - 'app/controllers/knowledge_base/public/categories_controller.rb' - 'app/controllers/knowledge_base/search_controller.rb' - 'app/controllers/long_polling_controller.rb' - 'app/controllers/monitoring_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/organizations_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/search_controller.rb' - 'app/controllers/sessions_controller.rb' - 'app/controllers/ticket_articles_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/collection_update_job.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/jobs/ticket_create_screen_job.rb' - 'app/jobs/ticket_user_ticket_counter_job.rb' - 'app/models/activity_stream/assets.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_search_index_attributes.rb' - 'app/models/application_model/checks_attribute_values_and_length.rb' - 'app/models/application_model/checks_user_columns_fillup.rb' - 'app/models/application_model/has_attachments.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/facebook.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/follow_up_merged.rb' - 'app/models/channel/filter/identify_sender.rb' - 'app/models/channel/filter/monitoring_base.rb' - 'app/models/channel/filter/out_of_office_check.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/chat.rb' - 'app/models/chat/session.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/concerns/has_search_index_backend.rb' - 'app/models/concerns/has_search_sortable.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/external_sync.rb' - 'app/models/history.rb' - 'app/models/job.rb' - 'app/models/job/assets.rb' - 'app/models/karma/activity_log.rb' - 'app/models/knowledge_base.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/observer/transaction.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/recent_view/assets.rb' - 'app/models/role.rb' - 'app/models/role/assets.rb' - 'app/models/scheduler.rb' - 'app/models/setting.rb' - 'app/models/sla/assets.rb' - 'app/models/store.rb' - 'app/models/taskbar.rb' - 'app/models/ticket/article.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' - 'app/models/ticket/article/assets.rb' - 'app/models/ticket/article/enqueue_communicate_email_job.rb' - 'app/models/ticket/article/enqueue_communicate_facebook_job.rb' - 'app/models/ticket/article/enqueue_communicate_sms_job.rb' - 'app/models/ticket/article/enqueue_communicate_twitter_job.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/article/resets_ticket_state.rb' - 'app/models/ticket/assets.rb' - 'app/models/ticket/escalation.rb' - 'app/models/ticket/number/date.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/ticket/state.rb' - 'app/models/ticket/touches_associations.rb' - 'app/models/token.rb' - 'app/models/transaction/clearbit_enrichment.rb' - 'app/models/transaction/karma.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/performs_geo_lookup.rb' - 'app/models/user/search.rb' - 'app/models/user/search_index.rb' - 'app/models/user_device.rb' - 'app/policies/ticket/article_policy.rb' - 'db/migrate/20170207081400_ticket_state_priority_defaults.rb' - 'db/migrate/20170403000001_fixed_admin_user_permission_920.rb' - 'db/migrate/20170516000001_trigger_recipient_update.rb' - 'db/migrate/20170905140038_cti_log_preferences_migration.rb' - 'db/migrate/20171023000001_fixed_store_upgrade_ror_45.rb' - 'db/migrate/20180410000001_cleanup_user_preferences_notification_sound2.rb' - 'db/migrate/20180502015927_issue_1219_zhtw_locale_typo.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'db/migrate/20181017000001_cti_generic_api2.rb' - 'db/migrate/20190408000001_issue_2541_fix_notification_email_without_body.rb' - 'db/migrate/20190724000001_rename_reserved_words.rb' - 'lib/auto_wizard.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/enrichment/clearbit/user.rb' - 'lib/excel_sheet.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/html_sanitizer.rb' - 'lib/import/otrs/requester.rb' - 'lib/import/otrs/user.rb' - 'lib/ldap/group.rb' - 'lib/ldap/user.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/report/ticket_reopened.rb' - 'lib/search_index_backend.rb' - 'lib/secure_mailing/smime/incoming.rb' - 'lib/sequencer/unit/import/zendesk/sub_sequence/base.rb' - 'lib/service/geo_ip/zammad.rb' - 'lib/session_helper/collection_base.rb' - 'lib/session_helper/collection_ticket.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/activity_stream.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/sessions/event/broadcast.rb' - 'lib/sessions/event/chat_session_close.rb' - 'lib/sessions/event/chat_session_update.rb' - 'lib/sessions/event/chat_status_customer.rb' - 'lib/sessions/node.rb' - 'lib/signature_detection.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/stats/ticket_load_measure.rb' - 'lib/stats/ticket_reopen.rb' - 'lib/stats/ticket_waiting_time.rb' - 'lib/tasks/search_index_es.rake' - 'lib/telegram.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'lib/websocket_server.rb' - 'test/**/*' Metrics/ModuleLength: Exclude: - '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/concerns/has_search_sortable.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/static_assets.rb' - 'lib/transaction_dispatcher.rb' - 'spec/support/capybara/common_actions.rb' Metrics/PerceivedComplexity: 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/channels_google_controller.rb' - 'app/controllers/channels_microsoft365_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/integration/check_mk_controller.rb' - 'app/controllers/integration/smime_controller.rb' - 'app/controllers/knowledge_base/search_controller.rb' - 'app/controllers/long_polling_controller.rb' - 'app/controllers/monitoring_controller.rb' - 'app/controllers/object_manager_attributes_controller.rb' - 'app/controllers/organizations_controller.rb' - 'app/controllers/reports_controller.rb' - 'app/controllers/search_controller.rb' - 'app/controllers/sessions_controller.rb' - 'app/controllers/ticket_articles_controller.rb' - 'app/controllers/tickets_controller.rb' - 'app/controllers/time_accountings_controller.rb' - 'app/controllers/users_controller.rb' - 'app/jobs/collection_update_job.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_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/checks_attribute_values_and_length.rb' - 'app/models/application_model/checks_user_columns_fillup.rb' - 'app/models/application_model/has_attachments.rb' - 'app/models/application_model/can_lookup_search_index_attributes.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/facebook.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/out_of_office_check.rb' - 'app/models/channel/filter/sender_is_system_address.rb' - 'app/models/chat.rb' - 'app/models/chat/session.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/concerns/has_search_index_backend.rb' - 'app/models/concerns/has_search_sortable.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/external_sync.rb' - 'app/models/history.rb' - 'app/models/job.rb' - 'app/models/job/assets.rb' - 'app/models/karma/activity_log.rb' - 'app/models/knowledge_base.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/observer/transaction.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/recent_view/assets.rb' - 'app/models/role.rb' - 'app/models/role/assets.rb' - 'app/models/scheduler.rb' - 'app/models/setting.rb' - 'app/models/sla/assets.rb' - 'app/models/taskbar.rb' - 'app/models/ticket.rb' - 'app/models/ticket/article.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' - 'app/models/ticket/article/assets.rb' - 'app/models/ticket/article/enqueue_communicate_email_job.rb' - 'app/models/ticket/article/enqueue_communicate_facebook_job.rb' - 'app/models/ticket/article/enqueue_communicate_twitter_job.rb' - 'app/models/ticket/article/has_ticket_contact_attributes_impact.rb' - 'app/models/ticket/article/resets_ticket_state.rb' - 'app/models/ticket/escalation.rb' - 'app/models/ticket/number/date.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/ticket/touches_associations.rb' - 'app/models/token.rb' - 'app/models/transaction/clearbit_enrichment.rb' - 'app/models/transaction/karma.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/performs_geo_lookup.rb' - 'app/models/user/search.rb' - 'app/models/user/search_index.rb' - 'app/models/user_device.rb' - 'app/policies/ticket/article_policy.rb' - 'db/migrate/20170207081400_ticket_state_priority_defaults.rb' - 'db/migrate/20170403000001_fixed_admin_user_permission_920.rb' - 'db/migrate/20170516000001_trigger_recipient_update.rb' - 'db/migrate/20171023000001_fixed_store_upgrade_ror_45.rb' - 'db/migrate/20180502015927_issue_1219_zhtw_locale_typo.rb' - 'db/migrate/20180502015927_issue_1219_zhtw_locale_typo.rb' - 'db/migrate/20180806000001_fixed_twitter_ticket_article_preferences7.rb' - 'db/migrate/20181017000001_cti_generic_api2.rb' - 'db/migrate/20190408000001_issue_2541_fix_notification_email_without_body.rb' - 'db/migrate/20190724000001_rename_reserved_words.rb' - 'lib/auto_wizard.rb' - 'lib/core_ext/string.rb' - 'lib/email_helper/probe.rb' - 'lib/enrichment/clearbit/user.rb' - 'lib/excel_sheet.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/html_sanitizer.rb' - 'lib/import/exchange/item_attributes.rb' - 'lib/import/otrs/user.rb' - 'lib/ldap/user.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/report/ticket_reopened.rb' - 'lib/search_index_backend.rb' - 'lib/secure_mailing/smime/incoming.rb' - 'lib/service/geo_ip/zammad.rb' - 'lib/session_helper/collection_base.rb' - 'lib/session_helper/collection_ticket.rb' - 'lib/sessions.rb' - 'lib/sessions/backend/activity_stream.rb' - 'lib/sessions/backend/ticket_overview_list.rb' - 'lib/sessions/client.rb' - 'lib/sessions/event/broadcast.rb' - 'lib/sessions/event/chat_session_close.rb' - 'lib/sessions/event/chat_session_update.rb' - 'lib/sessions/event/chat_status_customer.rb' - 'lib/signature_detection.rb' - 'lib/stats.rb' - 'lib/stats/ticket_channel_distribution.rb' - 'lib/stats/ticket_in_process.rb' - 'lib/stats/ticket_load_measure.rb' - 'lib/stats/ticket_reopen.rb' - 'lib/stats/ticket_response_time.rb' - 'lib/stats/ticket_waiting_time.rb' - 'lib/tasks/search_index_es.rake' - 'lib/telegram.rb' - 'lib/transaction_dispatcher.rb' - 'lib/twitter_sync.rb' - 'lib/user_agent.rb' - 'test/browser/admin_object_manager_test.rb' - 'test/browser/keyboard_shortcuts_test.rb' - 'test/browser_test_helper.rb' - 'test/integration/slack_test.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/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/karma/activity_log.rb' - 'app/models/object_manager/attribute.rb' - 'app/models/package.rb' - 'app/models/scheduler.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/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'