Module: Alf::Predicate::In
- Defined in:
- lib/alf/predicate/nodes/in.rb
Instance Method Summary collapse
Instance Method Details
#subquery ⇒ Object
9 10 11 |
# File 'lib/alf/predicate/nodes/in.rb', line 9 def subquery subquery? ? last : nil end |
#subquery? ⇒ Boolean
5 6 7 |
# File 'lib/alf/predicate/nodes/in.rb', line 5 def subquery? Sql::Expr === last end |
#to_sql(buffer = "") ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/alf/predicate/nodes/in.rb', line 13 def to_sql(buffer = "") identifier.to_sql(buffer) buffer << Sql::Expr::SPACE << Sql::Expr::IN << Sql::Expr::SPACE if subquery? values.to_sql(buffer) else buffer << Sql::Expr::LEFT_PARENTHESE values.each_with_index do |val,index| buffer << Sql::Expr::COMMA << Sql::Expr::SPACE unless index==0 to_sql_literal(buffer, val) end buffer << Sql::Expr::RIGHT_PARENTHESE end buffer end |