Module: LittleWeasel::Filters::WordFilterValidatable
- Included in:
- WordFiltersValidatable
- Defined in:
- lib/LittleWeasel/filters/word_filter_validatable.rb
Overview
This module validates word filter types.
Class Method Summary collapse
-
.valid_word_filter?(word_filter:) ⇒ Boolean
You can use your own word filter types as long as they quack correctly; however, you are responsible for the behavior of these required methods/ attributes.
- .validate(word_filter:) ⇒ Object
Instance Method Summary collapse
Class Method Details
.valid_word_filter?(word_filter:) ⇒ Boolean
You can use your own word filter types as long as they quack correctly; however, you are responsible for the behavior of these required methods/ attributes. It’s probably better to follow the pattern of existing word filter objects (e.g. Filters::EnUs::NumericFilter) and inherit from Filters::WordFilter.
17 18 19 20 21 22 23 24 |
# File 'lib/LittleWeasel/filters/word_filter_validatable.rb', line 17 def self.valid_word_filter?(word_filter:) word_filter.respond_to?(:filter_on?) && word_filter.respond_to?(:filter_off?) && word_filter.respond_to?(:filter_on) && word_filter.respond_to?(:filter_on=) && word_filter.respond_to?(:filter_match?) && word_filter.class.respond_to?(:filter_match?) end |
.validate(word_filter:) ⇒ Object
7 8 9 10 |
# File 'lib/LittleWeasel/filters/word_filter_validatable.rb', line 7 def self.validate(word_filter:) raise ArgumentError, "Argument word_filter does not quack right: #{word_filter.class}" \ unless valid_word_filter?(word_filter: word_filter) end |
Instance Method Details
#validate_word_filter(word_filter:) ⇒ Object
26 27 28 |
# File 'lib/LittleWeasel/filters/word_filter_validatable.rb', line 26 def validate_word_filter(word_filter:) WordFilterValidatable.validate word_filter: word_filter end |