Method: Zena::Use::QueryNode::Compiler#process_like
- Defined in:
- lib/zena/use/query_node.rb
#process_like(left, right, is_not = nil) ⇒ Object
Handle special case for ‘class like ’
326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/zena/use/query_node.rb', line 326 def process_like(left, right, is_not = nil) if (left == [:field, 'class'] || left == [:field, 'klass']) && right[0] == :field if klass = Node.get_class(right[1]) "#{field_or_attr('kpath')} #{is_not ? 'NOT ' : ''}LIKE #{quote(klass.kpath + '%')}" else raise ::QueryBuilder::QueryException.new("Unknown class #{right.last.inspect}.") end else process_op(:like, left, right) end end |