public
Created

devise hack with resque mailer

  • Download Gist
devise_mailer.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
##HACK - dmp - we must return an unserialized version of resource
##so copy devise's method and use a finder for resource
 
require "devise"
require Rails.root.join("lib/resque/mailer")
Devise::Mailers::Helpers.send(:alias_method, :old_initialize_from_record, :initialize_from_record)
 
module Devise
module Mailers
module Helpers
include Resque::Mailer
 
alias_method :old_initialize_from_record, :initialize_from_record
 
protected
def initialize_from_record(record)
ActiveRecord::Base.verify_active_connections! unless Rails.env.test?
if record.kind_of?(Hash)
 
#if we use another devise mapping we can't hardcode User
record = User.find(record["user"]["id"])
end
old_initialize_from_record(record)
end
end
end
end

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.