public
Created

Extract Devises "raw" tokens from outgoing email, since the tokens stored in the DB have been digested. (As for Devise 3.1)

  • Download Gist
devise_mail_helpers.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
module Features
module MailHelpers
 
def last_email
ActionMailer::Base.deliveries[0]
end
 
# Can be used like:
# extract_token_from_email(:reset_password)
def extract_token_from_email(token_name)
mail_body = last_email.body.to_s
mail_body[/#{token_name.to_s}_token=([^"]+)/, 1]
end
 
end
end

Thanks @stevenharman - I've encountered the same problem and your gist really helped. I made some tiny tweaks to the regex and used text_part instead to make it work for me though (see fork).

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.