Class: WhyValidationsSuckIn96::ValidatesFormat

Inherits:
Validation show all
Includes:
AttributeBasedValidation, SkippableValidation
Defined in:
lib/whyvalidationssuckin96/macros/validates_format.rb

Overview

Checks the validity of an attribute against a regular expression.

Examples:

Default usage

setup_validations do
  validates_format_of :username, :with => /[a-z0-9]/i
end

Constant Summary collapse

DefaultOptions =
{:message => "does not match the given format"}

Instance Attribute Summary

Attributes inherited from Validation

#options, #validatable

Instance Method Summary collapse

Methods included from AttributeBasedValidation

#attribute, #attribute_value, #validates?

Methods inherited from Validation

#failed?, #has_run?, #message, new_subclass, #passed?, #validates?

Constructor Details

#initialize(validatable, options = {}) ⇒ ValidatesFormat

Returns a new instance of ValidatesFormat.

Parameters:

  • validatable (Object)

    An object to be validated

  • options (Hash) (defaults to: {})

    The options to set up the validation with

Options Hash (options):

  • :with (Regexp)

    A regular expression to check against

Raises:

  • (ArgumentError)


21
22
23
24
# File 'lib/whyvalidationssuckin96/macros/validates_format.rb', line 21

def initialize(validatable, options = {})
  super
  raise(ArgumentError, "Regular expression to check against must be given as :with") unless options[:with]
end

Instance Method Details

#validateObject



26
27
28
29
30
31
32
33
# File 'lib/whyvalidationssuckin96/macros/validates_format.rb', line 26

def validate
  super
  if attribute_value.to_s =~ options[:with]
    pass
  else
    fail
  end
end