Class: DataFilter::LikeFilter
- Inherits:
-
Object
- Object
- DataFilter::LikeFilter
- Defined in:
- lib/data_filter/like_filter.rb
Overview
Used to filter a data item by a search term by seeing if the data field value is similar to the search term
Instance Method Summary collapse
-
#call(item) ⇒ Object?
Filters the item.
-
#initialize(field_sym, search_term, normalize_regex = nil) ⇒ LikeFilter
constructor
A new instance of LikeFilter.
Constructor Details
#initialize(field_sym, search_term, normalize_regex = nil) ⇒ LikeFilter
Returns a new instance of LikeFilter.
17 18 19 20 21 |
# File 'lib/data_filter/like_filter.rb', line 17 def initialize(field_sym, search_term, normalize_regex = nil) @field_sym = field_sym @search_term = search_term @normalize_regex = normalize_regex || /[^\w\s]/ end |
Instance Method Details
#call(item) ⇒ Object?
Filters the item
27 28 29 30 31 32 |
# File 'lib/data_filter/like_filter.rb', line 27 def call(item) if item.respond_to?(@field_sym) && match?(item.public_send(@field_sym), @search_term) item end end |