module Predicate::Match
Constants
- DEFAULT_OPTIONS
Public Instance Methods
case_sentitive?()
click to toggle source
# File lib/predicate/nodes/match.rb, line 13 def case_sentitive? options[:case_sensitive] end
evaluate(tuple)
click to toggle source
# File lib/predicate/nodes/match.rb, line 17 def evaluate(tuple) l = left.evaluate(tuple) r = right.evaluate(tuple) if l.nil? or r.nil? nil elsif l.is_a?(Regexp) l =~ r.to_s elsif r.is_a?(Regexp) r =~ l.to_s elsif options[:case_sensitive] l.to_s.include?(r.to_s) else l.to_s.downcase.include?(r.to_s.downcase) end end
options()
click to toggle source
# File lib/predicate/nodes/match.rb, line 9 def options @options ||= DEFAULT_OPTIONS.merge(self[3] || {}) end