Module: Howitzer::Utils::PageValidator::ClassMethods

Defined in:
lib/howitzer/utils/page_validator.rb

Instance Method Summary collapse

Instance Method Details

#validates(name, options) ⇒ Object

Adds validation to validation list

Parameters:

  • name (Symbol or String)

    Which validation type. Possible values [:url, :element_presence, :title]

  • options (Hash)

    a customizable set of options

Options Hash (options):

  • Validation (Hash)

    options :pattern => [Regexp] For :url and :title validation types :locator => [String] For :element_presence (Existing locator name)

Raises:



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/howitzer/utils/page_validator.rb', line 47

def validates(name, options)
  raise TypeError, "Expected options to be Hash, actual is '#{options.class}'" unless options.class == Hash
  PageValidator.validations[self.name] ||= {}
  case name.to_sym
    when :url
      validate_url options
    when :element_presence
      validate_element options
    when :title
      validate_title options
    else
      raise UnknownValidationName, "unknown '#{name}' validation name"
  end
end