Class: OracleSqlParser::Ast::SimpleCaseExpression
- Defined in:
- lib/oracle-sql-parser/ast/simple_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/simple_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/simple_case_expression.rb', line 7 def to_sql( = {}) 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 |