class MailProcessor
Public Class Methods
new(mail, route, original=nil)
click to toggle source
# File lib/airmail/mail_processor.rb, line 3 def initialize mail, route, original=nil @mail = mail @raw_mail = original @route = route default_controller end
Public Instance Methods
default_controller()
click to toggle source
# File lib/airmail/mail_processor.rb, line 48 def default_controller @delivering_controller = nil end
deliver(controller)
click to toggle source
# File lib/airmail/mail_processor.rb, line 39 def deliver controller @delivering_controller ||= controller end
deliver_to(controller)
click to toggle source
# File lib/airmail/mail_processor.rb, line 43 def deliver_to controller controller = controller.gsub(/(^|_)([a-z])/){ $2.upcase } @delivering_controller ||= "#{controller}Controller".constantize end
from?(*args)
click to toggle source
# File lib/airmail/mail_processor.rb, line 20 def from? *args from end
has_attachment?()
click to toggle source
# File lib/airmail/mail_processor.rb, line 24 def has_attachment? @mail.attachments.size > 0 end
logger()
click to toggle source
# File lib/airmail/mail_processor.rb, line 52 def logger Airmail.logger end
or_regex(phrase)
click to toggle source
# File lib/airmail/mail_processor.rb, line 34 def or_regex(phrase) return "[#{phrase.join("|")}]" if phrase.is_a? Array phrase end
receive()
click to toggle source
# File lib/airmail/mail_processor.rb, line 10 def receive default_controller self.instance_eval(&@route) @delivering_controller ||= AirmailDefaultController controller = @delivering_controller.new(@mail, @raw_mail) controller.before_receive if controller.respond_to? :before_receive controller.receive end
sentiment(*phrase)
click to toggle source
poor mans sentiment analyzer
# File lib/airmail/mail_processor.rb, line 29 def sentiment *phrase analizer = Airmail::Sentiment.new(phrase) !!analizer.analyze(@mail.body.raw_source) end