Sha256: e3fa87d6918315a3c9b71e59c7d7161ccf265abde11c5bece357ab4a9cc5ae75
Contents?: true
Size: 681 Bytes
Versions: 3
Compression:
Stored size: 681 Bytes
Contents
require 'treetop' module Murlsh # Search conditions builder for ActiveRecord conditions. class SearchConditions def initialize(q); @q = q; end # Search conditions builder for ActiveRecord conditions. def conditions if q parser = Murlsh::SearchGrammarParser.new tokens = parser.parse(q).content search_cols = %w{name title url} likes = [] params = [] search_cols.product(tokens).each do |col,tok| likes << "LOWER(#{col}) LIKE ?" params << "%#{tok.downcase}%" end [likes.join(' OR ')].push(*params) else [] end end attr_accessor :q end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
murlsh-1.6.1 | lib/murlsh/search_conditions.rb |
murlsh-1.6.0 | lib/murlsh/search_conditions.rb |
murlsh-1.5.0 | lib/murlsh/search_conditions.rb |