Sha256: 2064b704b343db17b4777065f909148aeb3b9338948b596000049188c9fc8e3e
Contents?: true
Size: 633 Bytes
Versions: 14
Compression:
Stored size: 633 Bytes
Contents
module Dugway class ContactFormValidator attr_accessor :params def initialize(params) @params = params end def error_message if required_fields.any? { |f| params[f].blank? } 'All fields are required' elsif param_does_not_match(:email, email_format) 'Invalid email address' end end private def required_fields [ :name, :email, :subject, :message ] end def email_format /^([^@\s]+)@((?:[-a-zA-Z0-9]+\.)+[a-zA-Z]{2,})$/ end def param_does_not_match(param_name, regex) !(params[param_name.to_sym] =~ regex) end end end
Version data entries
14 entries across 14 versions & 1 rubygems