diff --git a/.rubocop.yml b/.rubocop.yml index 6ed2290..673f19f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,5 @@ +require: rubocop-performance + Rails: Enabled: true @@ -39,6 +41,9 @@ Rails/CreateTableWithTimestamps: Rails/ApplicationRecord: Enabled: false +Performance/ChainArrayAllocation: + Enabled: true + Style/AutoResourceCleanup: Enabled: true diff --git a/.travis.yml b/.travis.yml index 82c33fc..c414d11 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: ruby rvm: - - 2.4.5 + - 2.4.6 - 2.3.8 - 2.2.10 diff --git a/CHANGELOG.md b/CHANGELOG.md index 481746e..ab4f861 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========= +1.0.4 +----- + +- Frensh translation added - thanks to @ZerooCool + 1.0.3 ----- diff --git a/Gemfile b/Gemfile index e7117a8..7b2d552 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,7 @@ gem 'slim-rails' gem 'validate_url' + +group :test do + gem 'rubocop', require: false + gem 'rubocop-performance', require: false +end diff --git a/README.md b/README.md index d556d79..c66fc68 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Requirements ------------ * Redmine version >= 3.0.0 -* Ruby version >= 2.1.5 +* Ruby version >= 2.2.10 Installation diff --git a/app/models/messenger.rb b/app/models/messenger.rb index 429c5de..afbf8b5 100644 --- a/app/models/messenger.rb +++ b/app/models/messenger.rb @@ -114,7 +114,7 @@ class Messenger if !pm.nil? && pm.messenger_channel.present? return [] if pm.messenger_channel == '-' - return pm.messenger_channel.split(',').map(&:strip).uniq + return pm.messenger_channel.split(',').map(&:strip).uniq! end default_project_channels(proj) end @@ -126,7 +126,7 @@ class Messenger # system based if RedmineMessenger.settings[:messenger_channel].present? && RedmineMessenger.settings[:messenger_channel] != '-' - return RedmineMessenger.settings[:messenger_channel].split(',').map(&:strip).uniq + return RedmineMessenger.settings[:messenger_channel].split(',').map(&:strip).uniq! end [] diff --git a/config/locales/fr.yml b/config/locales/fr.yml index c4f4c8a..5bb0068 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -2,22 +2,22 @@ fr: default_mentionsl_info: Personnes à notifier par défaut, séparées par des virgules (@all, @here) error_messenger_invalid_url: n'est pas une URL valide - label_messenger_contact_created: "[%{project_url}] Le contact %{url} créé par *%{user}*" - label_messenger_contact_updated: "[%{project_url}] Le contact %{url} mis à jour par *%{user}*" - label_messenger_db_entry_created: "[%{project_url}] Entrée de base de données %{url} créée par *%{user}*" - label_messenger_db_entry_updated: "[%{project_url}] Entrée de base de données %{url} mis à jour par *%{user}*" + label_messenger_contact_created: "[%{project_url}] Le contact %{url} créé par *%{user}*" + label_messenger_contact_updated: "[%{project_url}] Le contact %{url} mis à jour par *%{user}*" + label_messenger_db_entry_created: "[%{project_url}] Entrée de base de données %{url} créée par *%{user}*" + label_messenger_db_entry_updated: "[%{project_url}] Entrée de base de données %{url} mis à jour par *%{user}*" label_messenger_default_not_visible: Le paramètre par défaut n'est pas visible pour des raisons de sécurité - label_messenger_issue_created: "[%{project_url}] Ticket %{url} créé par *%{user}*" - label_messenger_issue_updated: "[%{project_url}] Ticket %{url} mis à jour par *%{user}*" - label_messenger_password_created: "[%{project_url}] Mot de passe %{url} créé par *%{user}*" - label_messenger_password_updated: "[%{project_url}] Mot de passe %{url} mis à jour par *%{user}*" + label_messenger_issue_created: "[%{project_url}] Ticket %{url} créé par *%{user}*" + label_messenger_issue_updated: "[%{project_url}] Ticket %{url} mis à jour par *%{user}*" + label_messenger_password_created: "[%{project_url}] Mot de passe %{url} créé par *%{user}*" + label_messenger_password_updated: "[%{project_url}] Mot de passe %{url} mis à jour par *%{user}*" label_messenger_project_text_field_info: Laissez ce champ vide pour le système par défaut. label_messenger_setting: Paramètres de messagerie label_messenger_settings_default: Choix de l'option label_messenger_settings_disabled: Désactivé label_messenger_settings_enabled: Activé - label_messenger_wiki_created: "[%{project_url}] Wiki %{url} créé par *%{user}*" - label_messenger_wiki_updated: "[%{project_url}] Wiki %{url} mis à jour par *%{user}*" + label_messenger_wiki_created: "[%{project_url}] Wiki %{url} créé par *%{user}*" + label_messenger_wiki_updated: "[%{project_url}] Wiki %{url} mis à jour par *%{user}*" label_messenger: Messenger label_settings_auto_mentions: Convert names to mentions ? label_settings_default_mentions: Default people for mentions @@ -47,9 +47,9 @@ fr: messenger_db_intro: Activer les modifications pour la base de données à envoyer au canal Messenger prédéfini. messenger_issue_intro: Activer les modifications pour les tickets à envoyer au canal Messenger prédéfini. messenger_passwords_intro: Activez les modifications pour les mots de passe devant être envoyés au canal Messenger prédéfini. - messenger_settings_intro: "Laissez l'URL de Messenger dans la zone d'administration vide afin de ne pas envoyer de messages de Redmine à Messenger. Peu importe ce que vous avez configuré ici. Si vous souhaitez envoyer des messages de tous les projets Redmine à Messenger, renseignez l’URL. Les messages seront envoyés au canal spécifique. Si vous souhaitez uniquement être averti par certains des projets (pas tous), laissez l'URL du messager ici vide et accédez à la configuration du projet spécifique." - messenger_settings_project_intro: "Si vous laissez vide l'URL de Messenger dans la zone d'administration au cas où vous ne seriez pas averti globalement de toutes les modifications apportées au projet, vous pouvez configurer votre URL Messenger dans les paramètres du projet." + messenger_settings_intro: "Laissez l'URL de Messenger dans la zone d'administration vide afin de ne pas envoyer de messages de Redmine à Messenger. Peu importe ce que vous avez configuré ici. Si vous souhaitez envoyer des messages de tous les projets Redmine à Messenger, renseignez l’URL. Les messages seront envoyés au canal spécifique. Si vous souhaitez uniquement être averti par certains des projets (pas tous), laissez l'URL du messager ici vide et accédez à la configuration du projet spécifique." + messenger_settings_project_intro: "Si vous laissez vide l'URL de Messenger dans la zone d'administration au cas où vous ne seriez pas averti globalement de toutes les modifications apportées au projet, vous pouvez configurer votre URL Messenger dans les paramètres du projet." messenger_url_info_html: 'Générer une Incoming WebHook URL du service de messagerie. Laissez-le vide si vous souhaitez uniquement activer des projets spécifiques avec des paramètres de projet.' messenger_verify_ssl_info_html: 'Si votre service Messenger utilise un certificat SSL non valide ou auto-signé, désactivez-le.' messenger_wiki_intro: Activez les modifications pour les wikis à envoyer au canal Messenger prédéfini. -permission_manage_messenger: Gérer messenger + permission_manage_messenger: Gérer messenger diff --git a/init.rb b/init.rb index 08b93ac..eb71ac6 100644 --- a/init.rb +++ b/init.rb @@ -7,7 +7,7 @@ Redmine::Plugin.register :redmine_messenger do url 'https://github.com/alphanodes/redmine_messenger' author_url 'https://alphanodes.com/' description 'Messenger integration for Slack, Discord, Rocketchat and Mattermost support' - version '1.0.3' + version '1.0.4' requires_redmine version_or_higher: '3.0.0' diff --git a/test/unit/i18n_test.rb b/test/unit/i18n_test.rb index 1c9baae..cccaa19 100644 --- a/test/unit/i18n_test.rb +++ b/test/unit/i18n_test.rb @@ -22,7 +22,7 @@ class I18nTest < ActiveSupport::TestCase 'config', 'locales', '*.yml')].size - assert_equal lang_files_count, 3 + assert_equal lang_files_count, 4 valid_languages.each do |lang| assert set_language_if_valid(lang) end