Class: OracleSqlParser::Ast::SearchedCaseExpression

Inherits:
Hash show all
Defined in:
lib/oracle-sql-parser/ast/searched_case_expression.rb

Instance Method Summary collapse

Methods inherited from Hash

[], #[]=, #initialize, #inspect, #map_ast!, #method_missing, #remove_nil_values!

Methods inherited from Base

#==, [], #ast, #deep_dup, deep_dup, find_different_value, #initialize, #initialize_copy, #inspect, #map_ast, #map_ast!, #remove_nil_values!

Methods included from Util::Parameterizable

#to_parameterized, #to_parameternized

Constructor Details

This class inherits a constructor from OracleSqlParser::Ast::Hash

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class OracleSqlParser::Ast::Hash

Instance Method Details

#else_clause=(ast) ⇒ Object



3
4
5
# File 'lib/oracle-sql-parser/ast/searched_case_expression.rb', line 3

def else_clause=(ast)
  @ast[:else_clause] = ast
end

#to_sql(options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/oracle-sql-parser/ast/searched_case_expression.rb', line 7

def to_sql(options = {})
  sql = []
  sql << 'case'
  sql << 'when'
  sql << @ast[:when_condition]
  sql << 'then'
  sql << @ast[:return_expr]
  sql << 'else'
  sql << @ast[:else_clause]
  sql << 'end'
  sql.compact.map(&:to_sql).join(' ')
end