class Hayfork::QueryParser
Attributes
klass[R]
querystring[R]
Public Class Methods
new(klass, querystring)
click to toggle source
# File lib/hayfork/query_parser.rb, line 5 def initialize(klass, querystring) @klass = klass @querystring = querystring end
Public Instance Methods
parse!()
click to toggle source
# File lib/hayfork/query_parser.rb, line 10 def parse! phrases = [] scanner = StringScanner.new(Hayfork.unaccent(querystring)) until scanner.eos? parse_phrase(scanner.scan(/[^"]+/), phrases) break if scanner.eos? scanner.getch # " parse_exact_phrase(scanner.scan(/[^"]+/), phrases) scanner.getch # " end klass.new(phrases) end
parse_exact_phrase(querystring, phrases)
click to toggle source
# File lib/hayfork/query_parser.rb, line 30 def parse_exact_phrase(querystring, phrases) raise NotImplementedError end
parse_phrase(querystring, phrases)
click to toggle source
# File lib/hayfork/query_parser.rb, line 26 def parse_phrase(querystring, phrases) raise NotImplementedError end