class Textoken::Searcher
This class reads YAML file under searchables/values, returns array of regexps representing values passed as an argument todo: add regexp support
Attributes
values[R]
yaml[R]
Public Class Methods
new(values)
click to toggle source
# File lib/textoken/searcher.rb, line 8 def initialize(values) @values = check_and_init_values(values) @yaml = load_file @regexps = [] end
Public Instance Methods
regexps()
click to toggle source
# File lib/textoken/searcher.rb, line 14 def regexps match_keys @regexps.map.each { |r| Regexp.new(r) } end
Private Instance Methods
add_regexps(arr)
click to toggle source
# File lib/textoken/searcher.rb, line 41 def add_regexps(arr) @regexps += arr end
check_and_init_values(values)
click to toggle source
# File lib/textoken/searcher.rb, line 21 def check_and_init_values(values) values.split(',').map(&:strip) rescue Textoken.expression_err("#{values} are not supported. Correct format, has to be 'numbers' or 'numbers, dates, phones'") end
load_file()
click to toggle source
# File lib/textoken/searcher.rb, line 28 def load_file YAML.load_file("#{GEM_ROOT}/lib/textoken/regexps/option_values.yml") end
match_keys()
click to toggle source
here we do check for option values user supplied option values has to be declared at option_values.yml
# File lib/textoken/searcher.rb, line 34 def match_keys values.each do |v| Textoken.expression_err("#{v}: is not permitted.") unless yaml.key?(v) add_regexps(yaml[v]) end end