class OracleSqlParser::Ast::SimpleCaseExpression

Public Instance Methods

else_clause=(ast) click to toggle source
# File lib/oracle-sql-parser/ast/simple_case_expression.rb, line 3
def else_clause=(ast)
  @ast[:else_clause] = ast
end
to_sql(options = {}) click to toggle source
# File lib/oracle-sql-parser/ast/simple_case_expression.rb, line 7
def to_sql(options = {})
  sql = []
  sql << 'case'
  sql << @ast[:condition]
  sql << @ast[:when_clauses].map{|v| "when #{v.when_expr.to_sql} then #{v.return_expr.to_sql}"}.join(' ')
  if @ast[:else_clause]
    sql << 'else'
    sql << @ast[:else_clause]
  end
  sql << 'end'
  sql.compact.map(&:to_sql).join(' ')
end