class Arel::Visitors::Advantage
Private Instance Methods
visit_Arel_Nodes_Limit(o, collector)
click to toggle source
# File lib/arel/visitors/advantage.rb, line 15 def visit_Arel_Nodes_Limit(o, collector) collector << "TOP " visit o.expr, collector collector << " " collector end
visit_Arel_Nodes_Offset(o, collector)
click to toggle source
Rails 4 or above
# File lib/arel/visitors/advantage.rb, line 8 def visit_Arel_Nodes_Offset(o, collector) collector << "START AT " visit (o.expr + 1), collector collector << " " collector end
visit_Arel_Nodes_SelectCore(o, collector)
click to toggle source
# File lib/arel/visitors/advantage.rb, line 37 def visit_Arel_Nodes_SelectCore(o, collector) collector = inject_join o.projections, collector, ", " if o.source && !o.source.empty? collector << " FROM " collector = visit o.source, collector end if o.wheres.any? collector << " WHERE " collector = inject_join o.wheres, collector, " AND " end if o.groups.any? collector << "GROUP BY " collector = inject_join o.groups, collector, ", " end collector end
visit_Arel_Nodes_SelectStatement(o, collector)
click to toggle source
copied from informix.rb
# File lib/arel/visitors/advantage.rb, line 23 def visit_Arel_Nodes_SelectStatement(o, collector) collector << "SELECT " collector = maybe_visit o.limit, collector collector = maybe_visit o.offset, collector collector = o.cores.inject(collector) { |c, x| visit_Arel_Nodes_SelectCore x, c } if o.orders.any? collector << "ORDER BY " collector = inject_join o.orders, collector, ", " end collector end