[](name)
click to toggle source
def [] name
::Arel::Attribute.new self, name
end
alias(name = "
click to toggle source
def alias name = "#{self.name}_2"
Nodes::TableAlias.new(self, name).tap do |node|
@aliases << node
end
end
delete_manager()
click to toggle source
def delete_manager
DeleteManager.new(@engine)
end
eql?(other)
click to toggle source
def eql? other
self.class == other.class &&
self.name == other.name &&
self.engine == other.engine &&
self.aliases == other.aliases &&
self.table_alias == other.table_alias
end
from(table)
click to toggle source
def from table
SelectManager.new(@engine, table)
end
group(*columns)
click to toggle source
def group *columns
from(self).group(*columns)
end
hash()
click to toggle source
having(expr)
click to toggle source
def having expr
from(self).having expr
end
insert_manager()
click to toggle source
def insert_manager
InsertManager.new(@engine)
end
join(relation, klass = Nodes::InnerJoin)
click to toggle source
def join relation, klass = Nodes::InnerJoin
return from(self) unless relation
case relation
when String, Nodes::SqlLiteral
raise if relation.empty?
klass = Nodes::StringJoin
end
from(self).join(relation, klass)
end
order(*expr)
click to toggle source
def order *expr
from(self).order(*expr)
end
outer_join(relation)
click to toggle source
def outer_join relation
join(relation, Nodes::OuterJoin)
end
primary_key()
click to toggle source
def primary_key
if $VERBOSE
warn <<-eowarn
primary_key (#{caller.first}) is deprecated and will be removed in Arel 4.0.0
eowarn
end
@primary_key ||= begin
primary_key_name = @engine.connection.primary_key(name)
primary_key_name && self[primary_key_name]
end
end
project(*things)
click to toggle source
def project *things
from(self).project(*things)
end
select_manager()
click to toggle source
def select_manager
SelectManager.new(@engine)
end
skip(amount)
click to toggle source
def skip amount
from(self).skip amount
end
take(amount)
click to toggle source
def take amount
from(self).take amount
end
update_manager()
click to toggle source
def update_manager
UpdateManager.new(@engine)
end
where(condition)
click to toggle source
def where condition
from(self).where condition
end