class Arel::Visitors::ToSql

Private Instance Methods

visit_Arel_Nodes_Case(o, *a) click to toggle source
# File lib/arel_extension/nodes/case.rb, line 52
def visit_Arel_Nodes_Case o, *a
  conditions = o.conditions.map { |x| visit x, *a }.join(' ')
  default = o.default && visit(o.default, *a)

  "CASE #{[conditions, default].compact.join(' ')} END"
end
visit_Arel_Nodes_Coalesce(o, *a) click to toggle source
# File lib/arel_extension/nodes/case.rb, line 67
def visit_Arel_Nodes_Coalesce(o, *a)
  "COALESCE(#{visit o.left}, #{visit o.right, *a})#{o.aliaz ? " AS #{visit o.aliaz, *a}" : ''}"
end
visit_Arel_Nodes_Else(o, *a) click to toggle source
# File lib/arel_extension/nodes/case.rb, line 63
def visit_Arel_Nodes_Else o, *a
  "ELSE #{visit o.expr, *a}"
end
visit_Arel_Nodes_When(o, *a) click to toggle source
# File lib/arel_extension/nodes/case.rb, line 59
def visit_Arel_Nodes_When o, *a
  "WHEN #{visit o.left, *a} THEN #{visit o.right, *a}"
end
visit_NilClass(o, collector) click to toggle source
# File lib/arel_extension/nodes/case.rb, line 97
def visit_NilClass o, collector
  collector << 'NULL'
end