26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/clortho.rb', line 26
def searchable(*args)
options = args.
args.each do |arg|
key :"#{arg}_keywords", String, default: ""
key :"#{arg}_keywords_array", Array, default: []
searchable_with_options << [arg.to_sym, options]
class_eval " class << self\n def search_\#{arg}_keywords_for(*keywords)\n records = []\n keywords.each do |word|\n records << self.all.select{ |record| record[:'\#{arg}_keywords_array'].include?(word.downcase) }\n end\n records.flatten.uniq\n end\n end\n CODE\n end\nend\n"
|