diff options
-rw-r--r-- | lib/arel/select_manager.rb | 2 | ||||
-rw-r--r-- | spec/arel/select_manager_spec.rb | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 6942014208..ce74daab82 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -63,6 +63,8 @@ module Arel end def having expr + expr = Nodes::SqlLiteral.new(expr) if String === expr + @ctx.having = Nodes::Having.new(expr) self end diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb index e5124a16c7..bf3b63ff49 100644 --- a/spec/arel/select_manager_spec.rb +++ b/spec/arel/select_manager_spec.rb @@ -26,6 +26,17 @@ module Arel end describe 'select manager' do + describe 'backwards compatibility' do + describe '#having' do + it 'converts strings to SQLLiterals' do + table = Table.new :users + mgr = table.from table + mgr.having 'foo' + mgr.to_sql.should be_like %{ SELECT FROM "users" HAVING foo } + end + end + end + describe 'skip' do it 'should add an offset' do table = Table.new :users |