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