aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/select_manager.rb1
-rw-r--r--spec/arel/select_manager_spec.rb12
2 files changed, 13 insertions, 0 deletions
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