module LittleWeasel::Filters::WordFilterValidatable
This module validates word filter types.
Public Class Methods
valid_word_filter?(word_filter:)
click to toggle source
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
.
# 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:)
click to toggle source
# 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
Public Instance Methods
validate_word_filter(word_filter:)
click to toggle source
# File lib/LittleWeasel/filters/word_filter_validatable.rb, line 26 def validate_word_filter(word_filter:) WordFilterValidatable.validate word_filter: word_filter end