module Predicate::HasSize
Public Instance Methods
evaluate(tuple)
click to toggle source
# File lib/predicate/nodes/has_size.rb, line 5 def evaluate(tuple) l, r = left.evaluate(tuple), right.evaluate(tuple) r = r..r if r.is_a?(Integer) raise Error, "Expected Range, got #{r}" unless r.is_a?(Range) raise Error, "Expected #{l} to respond to :size" unless l.respond_to?(:size) r === l.size end