Guest User

Untitled

a guest
Jul 16th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. module DeviseMailerWithAttributes
  2. class Devise::Mailer < ::ActionMailer::Base
  3.  
  4. alias_method :old_confirmation_instructions, :confirmation_instructions
  5. alias_method :old_reset_password_instructions, :reset_password_instructions
  6. alias_method :old_unlock_instructions, :unlock_instructions
  7. alias_method :old_invitation_instructions, :invitation_instructions
  8.  
  9. def confirmation_instructions(record, attributes={})
  10. set_attributes(attributes)
  11. old_confirmation_instructions(record)
  12. end
  13.  
  14. def reset_password_instructions(record, attributes={})
  15. set_attributes(attributes)
  16. old_reset_password_instructions(record)
  17. end
  18.  
  19. def unlock_instructions(record, attributes={})
  20. set_attributes(attributes)
  21. old_unlock_instructions(record)
  22. end
  23.  
  24. def invitation_instructions(record, attributes={})
  25. set_attributes(attributes)
  26. old_invitation_instructions(record)
  27. end
  28.  
  29. def set_attributes(attributes)
  30. attributes.each {|k,v| instance_variable_set("@#{k}", v) }
  31. end
  32. end
  33.  
  34. class User
  35. alias_method :old_send_confirmation_instructions, :send_confirmation_instructions
  36. alias_method :old_send_reset_password_instructions, :send_reset_password_instructions
  37. alias_method :old_send_unlock_instructions, :send_unlock_instructions
  38. alias_method :old_invite!, :invite!
  39.  
  40. def send_reset_password_instructions(attributes={})
  41. generate_reset_password_token!
  42. ::Devise.mailer.reset_password_instructions(self, attributes).deliver
  43. end
  44.  
  45. def send_confirmation_instructions(attributes={})
  46. generate_confirmation_token! if self.confirmation_token.nil?
  47. ::Devise.mailer.confirmation_instructions(self, attributes).deliver
  48. end
  49.  
  50. def send_unlock_instructions(attributes={})
  51. ::Devise.mailer.unlock_instructions(self, attributes).deliver
  52. end
  53.  
  54. def invite!(attributes={})
  55. if new_record? || invited?
  56. self.skip_confirmation! if self.new_record? && self.respond_to?(:skip_confirmation!)
  57. generate_invitation_token if self.invitation_token.nil?
  58. self.invitation_sent_at = Time.now.utc
  59. save(:validate => false)
  60. ::Devise.mailer.invitation_instructions(self, attributes).deliver
  61. end
  62. end
  63. end
  64. end
Add Comment
Please, Sign In to add comment