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