Class: Array
Instance Method Summary collapse
Instance Method Details
#placeheld ⇒ Object
25 26 27 |
# File 'lib/sql/expression.rb', line 25 def placeheld rest.collect{|x| x.placeheld}.flatten end |
#rest ⇒ Object
4 5 6 |
# File 'lib/sql/expression.rb', line 4 def rest self[1..-1] end |
#rest_sqlpart ⇒ Object
7 8 9 |
# File 'lib/sql/expression.rb', line 7 def rest_sqlpart rest.collect {|x| x.to_sqlpart}.join(", ") end |
#to_sqlpart ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/sql/expression.rb', line 10 def to_sqlpart if first==:count_distinct "count(distinct "+rest_sqlpart+")" elsif first.to_s =~ /[a-zA-Z]/ first.to_s+"("+rest_sqlpart+")" elsif first == :== and self[2]==nil self[1].to_sqlpart+" is null" elsif first == :== and self[1]==nil self[2].to_sqlpart+" is null" elsif x={:& => " and ", :| => " or ", :== => "="}[first] "("+self[1].to_sqlpart+x+self[2].to_sqlpart+")" else "("+self[1].to_sqlpart+first.to_s+self[2].to_sqlpart+")" end end |