Method: Predicate::HasSize#evaluate
- Defined in:
- lib/predicate/nodes/has_size.rb
#evaluate(tuple) ⇒ Object
5 6 7 8 9 10 11 |
# 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 |