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