From 6cd4e8f51ff231cafb2fdb6d71328f763c934b0b Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Sun, 12 Sep 2010 18:23:28 -0700 Subject: [PATCH] supporting symbols for group statements --- lib/arel/select_manager.rb | 1 + spec/arel/select_manager_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 0f70a461a3..423b217b8a 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -43,6 +43,7 @@ module Arel columns.each do |column| # FIXME: backwards compat column = Nodes::SqlLiteral.new(column) if String === column + column = Nodes::SqlLiteral.new(column.to_s) if Symbol === column @ctx.groups.push Nodes::Group.new column end diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb index 2ed1a851e5..02586f3a65 100644 --- a/spec/arel/select_manager_spec.rb +++ b/spec/arel/select_manager_spec.rb @@ -27,6 +27,18 @@ module Arel describe 'select manager' do describe 'backwards compatibility' do + describe 'group' do + it 'takes a symbol' do + table = Table.new :users + manager = Arel::SelectManager.new Table.engine + manager.from table + manager.group :foo + manager.to_sql.should be_like %{ + SELECT FROM "users" GROUP BY foo + } + end + end + describe 'from' do it 'ignores strings when table of same name exists' do table = Table.new :users