Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Extract Devises "raw" tokens from outgoing email, since the tokens stored in the DB have been digested. (As for Devise 3.1)
module Features
module MailHelpers
def last_email
# 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]

This comment has been minimized.

Copy link
Owner Author

@stevenharman stevenharman commented Aug 16, 2013


This comment has been minimized.

Copy link

@gingerlime gingerlime commented Sep 20, 2013

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).


This comment has been minimized.

Copy link

@leishman leishman commented May 16, 2014

Thank you! Helped me write my test!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment