78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/arel_extensions/nodes/date_diff.rb', line 78
def postgresql_value(v = nil)
v ||= self.expressions.last
if defined?(ActiveSupport::Duration) && ActiveSupport::Duration === v
if @date_type == :date
Arel.sql("INTERVAL '%s'" % v.inspect.sub(/s\Z/, '').upcase)
elsif @date_type == :datetime
Arel.sql("INTERVAL '%s'" % v.inspect.sub(/s\Z/, '').upcase)
end
else
if ArelExtensions::Nodes::Duration === v
v.with_interval = true
v
else
v
end
end
end
|