# When looking for words we separate them with
# arbitrary whitespace, not whatever they came with
pre = words.map { |w| Regexp.escape(w)}.join("\\s+")
# When looking for words we separate them with
# arbitrary whitespace, not whatever they came with
pre = words.map { |w| Regexp.escape(w)}.join("\\s+")
- return Regexp.new("\\b#{pre}\\b", true)
+ pre << '\b' if pre.match(/\b$/)
+ pre = '\b' + pre if pre.match(/^\b/)
+ return Regexp.new(pre, true)
return if @triggers.empty?
query = $1.strip.downcase
if @triggers.include?(query)
return if @triggers.empty?
query = $1.strip.downcase
if @triggers.include?(query)
- facts(m, :words => query.split)
+ words = query.split
+ words.instance_variable_set(:@string_value, query)
+ def words.to_s
+ @string_value
+ end
+ facts(m, :words => words)