Class: HashValidator::Validator::DynamicPatternValidator

Inherits:
Base
  • Object
show all
Defined in:
lib/hash_validator/validators/dynamic_pattern_validator.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#name

Instance Method Summary collapse

Methods inherited from Base

#should_validate?, #validate

Constructor Details

#initialize(name, pattern, error_message = nil) ⇒ DynamicPatternValidator

Returns a new instance of DynamicPatternValidator.



4
5
6
7
8
9
10
11
12
13
# File 'lib/hash_validator/validators/dynamic_pattern_validator.rb', line 4

def initialize(name, pattern, error_message = nil)
  super(name)
  
  unless pattern.is_a?(Regexp)
    raise ArgumentError, "Pattern must be a regular expression"
  end
  
  @pattern = pattern
  @custom_error_message = error_message
end

Instance Attribute Details

#custom_error_messageObject

Returns the value of attribute custom_error_message.



2
3
4
# File 'lib/hash_validator/validators/dynamic_pattern_validator.rb', line 2

def custom_error_message
  @custom_error_message
end

#patternObject

Returns the value of attribute pattern.



2
3
4
# File 'lib/hash_validator/validators/dynamic_pattern_validator.rb', line 2

def pattern
  @pattern
end

Instance Method Details

#error_messageObject



15
16
17
# File 'lib/hash_validator/validators/dynamic_pattern_validator.rb', line 15

def error_message
  @custom_error_message || super
end

#valid?(value) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/hash_validator/validators/dynamic_pattern_validator.rb', line 19

def valid?(value)
  return false unless value.respond_to?(:to_s)
  @pattern.match?(value.to_s)
end