Class: EmailSpec::Matchers::BccTo

Inherits:
Object
  • Object
show all
Defined in:
lib/email_spec/matchers.rb

Instance Method Summary collapse

Constructor Details

#initialize(expected_email_addresses_or_objects_that_respond_to_email) ⇒ BccTo

Returns a new instance of BccTo.



103
104
105
106
107
108
109
# File 'lib/email_spec/matchers.rb', line 103

def initialize(expected_email_addresses_or_objects_that_respond_to_email)
  emails = expected_email_addresses_or_objects_that_respond_to_email.map do |email_or_object|
    email_or_object.kind_of?(String) ? email_or_object : email_or_object.email
  end

  @expected_email_addresses = emails.sort
end

Instance Method Details

#descriptionObject



111
112
113
# File 'lib/email_spec/matchers.rb', line 111

def description
  "be bcc'd to #{@expected_email_addresses.inspect}"
end

#failure_messageObject



121
122
123
# File 'lib/email_spec/matchers.rb', line 121

def failure_message
  "expected #{@email.inspect} to bcc to #{@expected_email_addresses.inspect}, but it was bcc'd to #{@actual_recipients.inspect}"
end

#matches?(email) ⇒ Boolean

Returns:

  • (Boolean)


115
116
117
118
119
# File 'lib/email_spec/matchers.rb', line 115

def matches?(email)
  @email = email
  @actual_recipients = (Array(email.bcc) || []).sort
  @actual_recipients == @expected_email_addresses
end

#negative_failure_messageObject



125
126
127
# File 'lib/email_spec/matchers.rb', line 125

def negative_failure_message
  "expected #{@email.inspect} not to bcc to #{@expected_email_addresses.inspect}, but it did"
end