Class: SimpleValidate::ValidatesFormatOf

Inherits:
ValidatesBase show all
Defined in:
lib/simple_validate/validates_format_of.rb

Instance Attribute Summary collapse

Attributes inherited from ValidatesBase

#attribute, #condition, #message

Instance Method Summary collapse

Constructor Details

#initialize(attribute, options) ⇒ ValidatesFormatOf

Returns a new instance of ValidatesFormatOf.



7
8
9
10
11
12
13
14
15
# File 'lib/simple_validate/validates_format_of.rb', line 7

def initialize(attribute, options)
  @allow_nil = options[:allow_nil]
  @regex = options[:with]
  super(
    attribute,
    options[:message] || "is incorrect format",
    options[:if] || proc { true }
  )
end

Instance Attribute Details

#regexObject

Returns the value of attribute regex.



5
6
7
# File 'lib/simple_validate/validates_format_of.rb', line 5

def regex
  @regex
end

Instance Method Details

#valid?(instance) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


17
18
19
20
21
22
23
24
# File 'lib/simple_validate/validates_format_of.rb', line 17

def valid?(instance)
  val = instance.send(attribute)

  return true if val.nil? && @allow_nil == true
  raise ArgumentError if regex.nil? || !regex.is_a?(Regexp)

  !!(val =~ regex)
end