Module: Howitzer::Web::PageValidator::ClassMethods
- Defined in:
- lib/howitzer/web/page_validator.rb
Overview
This module holds page validation class methods
Instance Method Summary collapse
-
#matched_pages ⇒ Array
Finds all matched pages which satisfy of defined validations on current page.
-
#opened?(sync: true) ⇒ Boolean
Check whether current page is opened or no.
-
#validate(name, value, additional_value = nil) ⇒ Object
Adds validation to validation list for current page.
-
#validations ⇒ Hash
Defined validations for current page class.
Instance Method Details
#matched_pages ⇒ Array
Finds all matched pages which satisfy of defined validations on current page
69 70 71 |
# File 'lib/howitzer/web/page_validator.rb', line 69 def matched_pages PageValidator.validations.keys.select { |klass| klass.opened?(sync: false) } end |
#opened?(sync: true) ⇒ Boolean
Check whether current page is opened or no
61 62 63 64 |
# File 'lib/howitzer/web/page_validator.rb', line 61 def opened?(sync: true) return validations.all? { |(_, validation)| validation.call(self, sync) } if validations.present? raise Howitzer::NoValidationError, "No any page validation was found for '#{name}' page" end |
#validate(name, value, additional_value = nil) ⇒ Object
Adds validation to validation list for current page
51 52 53 |
# File 'lib/howitzer/web/page_validator.rb', line 51 def validate(name, value, additional_value = nil) validate_by_type(name, value, additional_value) end |
#validations ⇒ Hash
Returns defined validations for current page class.
75 76 77 |
# File 'lib/howitzer/web/page_validator.rb', line 75 def validations PageValidator.validations[self] ||= {} end |