class Predicator::Visitors::String
Private Instance Methods
terminal(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 6 def terminal node node.left.to_s end
visit_AND(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 39 def visit_AND node [visit(node.left), " and ", visit(node.right)].join end
visit_ARRAY(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 14 def visit_ARRAY node contents = node.left.map{ |item| visit item }.join(", ") "[#{contents}]" end
visit_BETWEEN(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 47 def visit_BETWEEN node [visit(node.left), " between ", visit(node.middle), " and ", visit(node.right)].join end
visit_DATEAGO(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 67 def visit_DATEAGO node visit(node.left) + " ago" end
visit_DATEFROMNOW(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 71 def visit_DATEFROMNOW node visit(node.left) + " from now" end
visit_EQ(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 27 def visit_EQ node [visit(node.left), " = ", visit(node.right)].join end
visit_GROUP(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 23 def visit_GROUP node "(#{visit node.left})" end
visit_GT(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 31 def visit_GT node [visit(node.left), " > ", visit(node.right)].join end
visit_IN(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 51 def visit_IN node [visit(node.left), " in ", visit(node.right)].join end
visit_LT(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 35 def visit_LT node [visit(node.left), " < ", visit(node.right)].join end
visit_NOT(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 19 def visit_NOT node "!#{visit node.left}" end
visit_NOTIN(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 55 def visit_NOTIN node [visit(node.left), " not in ", visit(node.right)].join end
visit_OR(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 43 def visit_OR node [visit(node.left), " or ", visit(node.right)].join end
visit_STRENDSWITH(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 63 def visit_STRENDSWITH node [visit(node.left), " ends with ", visit(node.right)].join end
visit_STRING(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 10 def visit_STRING node "'#{node.left}'" end
visit_STRSTARTSWITH(node)
click to toggle source
# File lib/predicator/visitors/string.rb, line 59 def visit_STRSTARTSWITH node [visit(node.left), " starts with ", visit(node.right)].join end