diff options
Diffstat (limited to 'app/services/feature_flags/update_service.rb')
-rw-r--r-- | app/services/feature_flags/update_service.rb | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/app/services/feature_flags/update_service.rb b/app/services/feature_flags/update_service.rb index 01e4f661d75..ccfd1b57d44 100644 --- a/app/services/feature_flags/update_service.rb +++ b/app/services/feature_flags/update_service.rb @@ -2,10 +2,9 @@ module FeatureFlags class UpdateService < FeatureFlags::BaseService - AUDITABLE_SCOPE_ATTRIBUTES_HUMAN_NAMES = { - 'active' => 'active state', - 'environment_scope' => 'environment scope', - 'strategies' => 'strategies' + AUDITABLE_STRATEGY_ATTRIBUTES_HUMAN_NAMES = { + 'scopes' => 'environment scopes', + 'parameters' => 'parameters' }.freeze def execute(feature_flag) @@ -41,7 +40,7 @@ module FeatureFlags def audit_message(feature_flag) changes = changed_attributes_messages(feature_flag) - changes += changed_scopes_messages(feature_flag) + changes += changed_strategies_messages(feature_flag) return if changes.empty? @@ -56,29 +55,30 @@ module FeatureFlags end end - def changed_scopes_messages(feature_flag) - feature_flag.scopes.map do |scope| - if scope.new_record? - created_scope_message(scope) - elsif scope.marked_for_destruction? - deleted_scope_message(scope) + def changed_strategies_messages(feature_flag) + feature_flag.strategies.map do |strategy| + if strategy.new_record? + created_strategy_message(strategy) + elsif strategy.marked_for_destruction? + deleted_strategy_message(strategy) else - updated_scope_message(scope) + updated_strategy_message(strategy) end - end.compact # updated_scope_message can return nil if nothing has been changed + end.compact # updated_strategy_message can return nil if nothing has been changed end - def deleted_scope_message(scope) - "Deleted rule #{scope.environment_scope}." + def deleted_strategy_message(strategy) + scopes = strategy.scopes.map { |scope| scope.environment_scope }.join(', ') + "Deleted strategy #{strategy.name} with environment scopes #{scopes}." end - def updated_scope_message(scope) - changes = scope.changes.slice(*AUDITABLE_SCOPE_ATTRIBUTES_HUMAN_NAMES.keys) + def updated_strategy_message(strategy) + changes = strategy.changes.slice(*AUDITABLE_STRATEGY_ATTRIBUTES_HUMAN_NAMES.keys) return if changes.empty? - message = "Updated rule #{scope.environment_scope} " + message = "Updated strategy #{strategy.name} " message += changes.map do |attribute_name, change| - name = AUDITABLE_SCOPE_ATTRIBUTES_HUMAN_NAMES[attribute_name] + name = AUDITABLE_STRATEGY_ATTRIBUTES_HUMAN_NAMES[attribute_name] "#{name} from #{change.first} to #{change.second}" end.join(' ') |