diff --git a/lib/email_digest.rb b/lib/email_digest.rb index b20ab5a6d..502c68f41 100644 --- a/lib/email_digest.rb +++ b/lib/email_digest.rb @@ -28,7 +28,7 @@ class EmailDigest end def valid_email? - user.email.match(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i) + user.email.present? && user.email.match(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i) end end diff --git a/spec/lib/email_digests_spec.rb b/spec/lib/email_digests_spec.rb index 2622b76e7..c5477610d 100644 --- a/spec/lib/email_digests_spec.rb +++ b/spec/lib/email_digests_spec.rb @@ -152,6 +152,14 @@ describe EmailDigest do email_digest = described_class.new(user) expect(email_digest.valid_email?).to be(nil) end + + it "returns false if email does not exist" do + user = create(:user) + user.update_attribute(:email, nil) + + email_digest = described_class.new(user) + expect(email_digest.valid_email?).to be(false) + end end end