EvoBal/app/mailboxes/in_mailbox.rb

23 lines
572 B
Ruby
Raw Normal View History

2020-10-17 12:46:09 +02:00
class InMailbox < ApplicationMailbox
def process
email_importer = EmailImporter.new
2020-12-28 00:53:14 +01:00
repository = EmailRepository.new
rules_evaluator = RulesEvaluator.new
2020-10-28 23:53:42 +01:00
email = email_importer.import(mail)
RuleSet.enabled.each do |rule_set|
if rules_evaluator.evaluate(email, rule_set)
rule_set.actions.enabled.each do |action|
klass = action.class_name.constantize
email = klass.new.process(email)
rescue NameError => ex
# TODO: log a warning
end
end
end
repository.save(email)
2020-10-28 23:53:42 +01:00
end
2020-10-17 12:46:09 +02:00
end