diff --git a/app/services/email_action/base.rb b/app/services/email_action/base.rb index 11d8099..40faa2c 100644 --- a/app/services/email_action/base.rb +++ b/app/services/email_action/base.rb @@ -7,6 +7,12 @@ module EmailAction class Base + attr_reader :action + + def initialize(action) + @action = action + end + def process(email) fail NotImplementedError end diff --git a/app/services/email_action/metadata_mapping.rb b/app/services/email_action/metadata_mapping.rb index 5c1872b..74e91ce 100644 --- a/app/services/email_action/metadata_mapping.rb +++ b/app/services/email_action/metadata_mapping.rb @@ -5,9 +5,10 @@ module EmailAction attr_accessor :metadata_mapping_class - def initialize(metadata_mapping_class: ::MetadataMapping) + def initialize(action:, metadata_mapping_class: ::MetadataMapping) @metadata_mapping_class = metadata_mapping_class + super(action: action) end def process(email) diff --git a/app/services/rule_set_processor.rb b/app/services/rule_set_processor.rb index 5444d11..9488167 100644 --- a/app/services/rule_set_processor.rb +++ b/app/services/rule_set_processor.rb @@ -46,7 +46,7 @@ class RuleSetProcessor next unless action.enabled? klass = action.class_name.constantize - email_action = klass.new + email_action = klass.new(action: action) email = email_action.process(email) rescue NameError => ex Rails.logger.error "Skipped action##{action.id} '#{action.name}' - #{ex.inspect}"