aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeeraj Singh <neerajdotname@gmail.com>2010-06-23 10:05:30 -0400
committerJosé Valim <jose.valim@gmail.com>2010-06-23 18:00:25 +0200
commiteb04408a20628a49296e0859425940b39a83ec63 (patch)
treee4d9aaeebb612b9a41fc5873a78c318e27d2eaf3
parenta3ce6fcc567836c99bb93cbe880b2c333a511593 (diff)
downloadrails-eb04408a20628a49296e0859425940b39a83ec63.tar.gz
rails-eb04408a20628a49296e0859425940b39a83ec63.tar.bz2
rails-eb04408a20628a49296e0859425940b39a83ec63.zip
ActiveRecord's relation object should respond to to_json and to_yaml
[#4547 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
-rw-r--r--activerecord/lib/active_record/relation.rb2
-rw-r--r--activerecord/test/cases/relations_test.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index 66970a5ea1..a342b1fe6f 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -10,7 +10,7 @@ module ActiveRecord
include FinderMethods, Calculations, SpawnMethods, QueryMethods, Batches
- delegate :length, :collect, :map, :each, :all?, :include?, :to => :to_a
+ delegate :to_json, :to_yaml, :length, :collect, :map, :each, :all?, :include?, :to => :to_a
delegate :insert, :to => :arel
attr_reader :table, :klass
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 165b2e1e6c..f2216a1923 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -29,6 +29,16 @@ class RelationTest < ActiveRecord::TestCase
assert_equal 4, topics.size
end
+ def test_to_json
+ assert_nothing_raised { Bird.scoped.to_json }
+ assert_nothing_raised { Bird.scoped.all.to_json }
+ end
+
+ def test_to_yaml
+ assert_nothing_raised { Bird.scoped.to_yaml }
+ assert_nothing_raised { Bird.scoped.all.to_yaml }
+ end
+
def test_scoped_all
topics = Topic.scoped.all
assert_kind_of Array, topics