Module: MailgunEmailValidator
- Defined in:
- lib/mailgun_email_validator/railtie.rb,
lib/mailgun_email_validator/version.rb,
lib/mailgun_email_validator/validator.rb
Defined Under Namespace
Classes: Railtie
Constant Summary collapse
- VERSION =
"0.1.1"- DEFAULT_VALIDATION_OPTIONS =
{:on => :save, :allow_nil => false, :allow_blank => false, :message => nil}
Instance Method Summary collapse
- #valid_email_with_mailgun?(email) ⇒ Boolean
- #validates_as_email_with_mailgun(*attrs) ⇒ Object
- #validation_method(on) ⇒ Object
Instance Method Details
#valid_email_with_mailgun?(email) ⇒ Boolean
9 10 11 |
# File 'lib/mailgun_email_validator/validator.rb', line 9 def valid_email_with_mailgun?(email) !! parsed_validation_response!(email)["is_valid"] end |
#validates_as_email_with_mailgun(*attrs) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/mailgun_email_validator/validator.rb', line 21 def validates_as_email_with_mailgun(*attrs) = DEFAULT_VALIDATION_OPTIONS .update(attrs..symbolize_keys) send(validation_method([:on]), ) do |record, attr, value| if [:allow_nil] return if record.nil? elsif [:allow_blank] return if record.blank? else begin parsed = parsed_validation_response!(value) is_valid = !parsed["is_valid"].nil? ? parsed["is_valid"] : false = [:message] ? [:message] : "supplied email is invalid." record.errors.add(attr, ) if !is_valid rescue validates record, email: true end end end end |
#validation_method(on) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/mailgun_email_validator/validator.rb', line 13 def validation_method(on) case on when :save then :validate when :create then :validate_on_create when :update then :validate_on_update end end |