module Capybara::Email::DSL
Attributes
current_email[RW]
Returns the currently set email. If no email set will return nil.
@return [Mail::Message, nil]
current_emails[RW]
Public Instance Methods
all_emails()
click to toggle source
Access all emails
@return [Array]
# File lib/capybara/email/dsl.rb, line 13 def all_emails Mail::TestMailer.deliveries end
clear_emails()
click to toggle source
Clear the email queue
# File lib/capybara/email/dsl.rb, line 47 def clear_emails all_emails.clear self.current_emails = nil self.current_email = nil end
Also aliased as: clear_email
emails_sent_to(recipient)
click to toggle source
Access all emails for a recipient.
@param [String]
@return [Array<Mail::Message>]
# File lib/capybara/email/dsl.rb, line 22 def emails_sent_to(recipient) self.current_emails = all_emails.select { |email| [email.to, email.cc, email.bcc].flatten.compact.include?(recipient) }.map do |email| driver = Capybara::Email::Driver.new(email) Capybara::Node::Email.new(Capybara.current_session, driver) end end
first_email_sent_to(recipient)
click to toggle source
Access the first email for a recipient and set it to.
@param [String]
@return [Mail::Message]
# File lib/capybara/email/dsl.rb, line 34 def first_email_sent_to(recipient) self.current_email = emails_sent_to(recipient).last end
Also aliased as: open_email