Module: Incoming::Strategy
- Included in:
- Incoming::Strategies::CloudMailin, Incoming::Strategies::HTTPPost, Incoming::Strategies::Mailgun, Incoming::Strategies::Mandrill, Incoming::Strategies::Postmark, Incoming::Strategies::SendGrid
- Defined in:
- lib/incoming/strategy.rb
Defined Under Namespace
Modules: ClassMethods Classes: InvalidOptionError, RequiredOptionError
Instance Attribute Summary collapse
-
#message ⇒ Object
Public: A Mail::Message object, constructed by #initialize.
Class Method Summary collapse
Instance Method Summary collapse
-
#authenticate ⇒ Object
Public: Authenticates request before performing #receive.
-
#initialize(*args) ⇒ Object
Public: Translates arguments into a Mail::Message object.
-
#receive(mail) ⇒ Object
Public: Evaluates message and performs appropriate action.
Instance Attribute Details
#message ⇒ Object
Public: A Mail::Message object, constructed by #initialize
70 71 72 |
# File 'lib/incoming/strategy.rb', line 70 def @message end |
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 |
# File 'lib/incoming/strategy.rb', line 3 def self.included(base) base.extend ClassMethods base.class_eval do attr_reader :options end end |
Instance Method Details
#authenticate ⇒ Object
Public: Authenticates request before performing #receive
Examples:
class MailReceiver < Incoming::Strategies::MyStrategy
def initialize(request)
@secret_word = request.params['secret_word']
end
def protected
@secret_word == 'my secret word'
end
end
Returns true by default
100 101 102 |
# File 'lib/incoming/strategy.rb', line 100 def authenticate true end |
#initialize(*args) ⇒ Object
Public: Translates arguments into a Mail::Message object
73 |
# File 'lib/incoming/strategy.rb', line 73 def initialize(*args) ; end |
#receive(mail) ⇒ Object
Public: Evaluates message and performs appropriate action. Override in subclass
mail - A Mail::Message object
Returns nothing
81 82 83 |
# File 'lib/incoming/strategy.rb', line 81 def receive(mail) raise NotImplementedError.new('You must implement #receive') end |