aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/select_manager.rb3
-rw-r--r--spec/arel/select_manager_spec.rb9
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index 3ac6a5cbc8..2ad9555d27 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -15,6 +15,9 @@ module Arel
def group *columns
columns.each do |column|
+ # FIXME: backwards compat
+ column = Nodes::SqlLiteral.new(column) if String === column
+
@ctx.groups.push Nodes::Group.new column
end
self
diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb
index a6f5765b44..506abb6485 100644
--- a/spec/arel/select_manager_spec.rb
+++ b/spec/arel/select_manager_spec.rb
@@ -154,6 +154,15 @@ module Arel
SELECT FROM "users" GROUP BY "users"."id", "users"."name"
}
end
+
+ # FIXME: backwards compat
+ it 'makes strings literals' 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 'delete' do