Module: Mandrill::Rails::WebHookProcessor
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/mandrill-rails/web_hook_processor.rb
Overview
WebHookProcessor is a module that mixes in Mandrill web hook processing support to a controller in your application.
The controller is expected to be a singlular resource controller. WebHookProcessor provides the :show and :create method implementation.
-
Create a controller that includes Mandrill::Rails::WebHookProcessor
-
Direct a GET :show and POST :create route to the controller
-
Define handlers for each of the event types you want to handle
e.g. in routes.rb:
resource :webhook, :controller => 'webhook', :only => [:show,:create]
e.g. a Webhook controller:
class WebhookController < ApplicationController
include Mandrill::Rails::WebHookProcessor
# Command: handle each 'inbound' +event_payload+ from Mandrill
def handle_inbound(event_payload)
# do some stuff
end
# Define other handlers for each event type required.
# Possible event types: inbound, send, hard_bounce, soft_bounce, open, click, spam, unsub, or reject
# def handle_<event_type>(event_payload)
# # do some stuff
# end
end
Instance Method Summary collapse
- #create ⇒ Object
-
#show ⇒ Object
Returns 200 and does nothing else (this is a test done by the mandrill service).
Instance Method Details
#create ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/mandrill-rails/web_hook_processor.rb', line 45 def create if processor = Mandrill::WebHook::Processor.new(params) processor.callback_host = self processor.run! end head(:ok) end |
#show ⇒ Object
Returns 200 and does nothing else (this is a test done by the mandrill service)
41 42 43 |
# File 'lib/mandrill-rails/web_hook_processor.rb', line 41 def show head(:ok) end |