Class: Sheetah::Types::Scalars::EmailCast

Inherits:
Object
  • Object
show all
Defined in:
lib/sheetah/types/scalars/email_cast.rb

Instance Method Summary collapse

Constructor Details

#initialize(email_matcher: EMAIL_REGEXP) ⇒ EmailCast

Returns a new instance of EmailCast.



15
16
17
# File 'lib/sheetah/types/scalars/email_cast.rb', line 15

def initialize(email_matcher: EMAIL_REGEXP, **)
  @email_matcher = email_matcher
end

Instance Method Details

#call(value, messenger) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/sheetah/types/scalars/email_cast.rb', line 19

def call(value, messenger)
  return value if @email_matcher.match?(value)

  messenger.error("must_be_email", value: value.inspect)

  throw :failure
end