diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2009-12-27 15:06:45 +0530 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2009-12-27 15:06:45 +0530 |
commit | 81608cf8fa61973d65f24efbc4ae4931016888e7 (patch) | |
tree | b4ae5cb3ea565b606de32b6cfb77f0f91dd6436f | |
parent | 1efc8edb5f8799c48ba1992e07a8566bb12b7224 (diff) | |
download | rails-81608cf8fa61973d65f24efbc4ae4931016888e7.tar.gz rails-81608cf8fa61973d65f24efbc4ae4931016888e7.tar.bz2 rails-81608cf8fa61973d65f24efbc4ae4931016888e7.zip |
Make Model.all return an array rather than a relation for consistency. Use Model.scoped to get a relation
-rwxr-xr-x | activerecord/lib/active_record/base.rb | 4 | ||||
-rwxr-xr-x | activerecord/test/cases/base_test.rb | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index e619e41329..2008dea5e9 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -671,9 +671,9 @@ module ActiveRecord #:nodoc: options = args.extract_options! if options.empty? && !scoped?(:find) - arel_table + arel_table.to_a else - construct_finder_arel_with_includes(options) + construct_finder_arel_with_includes(options).to_a end end diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 4c16cb4804..b51c9f0cb3 100755 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1902,8 +1902,14 @@ class BasicsTest < ActiveRecord::TestCase assert_equal Developer.find(:first, :order => 'id desc'), Developer.last end + def test_all + developers = Developer.all + assert_kind_of Array, developers + assert_equal Developer.find(:all), developers + end + def test_all_with_conditions - assert_equal Developer.find(:all, :order => 'id desc'), Developer.all.order('id desc').to_a + assert_equal Developer.find(:all, :order => 'id desc'), Developer.order('id desc').all end def test_find_ordered_last |