class Flounder::Expression::Expr
Public Class Methods
new(domain)
click to toggle source
# File lib/flounder/expression.rb, line 4 def initialize domain @domain = domain end
Public Instance Methods
&(expr)
click to toggle source
# File lib/flounder/expression.rb, line 17 def & expr BinaryOp.new(@domain, 'AND', self, expr) end
as(name)
click to toggle source
# File lib/flounder/expression.rb, line 8 def as name Named.new(@domain, name, self) end
cast(type)
click to toggle source
# File lib/flounder/expression.rb, line 11 def cast type Cast.new(@domain, type, self) end
db_quote(something)
click to toggle source
# File lib/flounder/expression.rb, line 36 def db_quote something @domain.with_connection do |conn| conn.quote(something) end end
eval(argument)
click to toggle source
# File lib/flounder/expression.rb, line 21 def eval argument case argument when String, Symbol db_quote(argument.to_s) when Fixnum argument when Expr argument.to_sql when Flounder::Field argument.fully_qualified_name else db_quote(argument) end end
to_immediate()
click to toggle source
# File lib/flounder/expression.rb, line 45 def to_immediate Flounder::Immediate.new(to_sql) end
to_sql()
click to toggle source
# File lib/flounder/expression.rb, line 42 def to_sql raise NotImplementedError end
|(expr)
click to toggle source
# File lib/flounder/expression.rb, line 14 def | expr BinaryOp.new(@domain, 'OR', self, expr) end