Class: Array

Inherits:
Object show all
Defined in:
lib/sql/expression.rb

Instance Method Summary collapse

Instance Method Details

#placeheldObject



25
26
27
# File 'lib/sql/expression.rb', line 25

def placeheld
   rest.collect{|x| x.placeheld}.flatten
end

#restObject



4
5
6
# File 'lib/sql/expression.rb', line 4

def rest
   self[1..-1]
end

#rest_sqlpartObject



7
8
9
# File 'lib/sql/expression.rb', line 7

def rest_sqlpart
   rest.collect {|x| x.to_sqlpart}.join(", ")
end

#to_sqlpartObject



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