aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2010-04-03 10:56:15 -0700
committerXavier Noria <fxn@hashref.com>2010-04-03 10:56:15 -0700
commit11161e6c96fb6686a33e05ead106b96089ff9790 (patch)
tree35d5618f1a866ce8ba11efd8e6851d2fd7bbf5fc /activerecord/test
parent4996d1a445acd965d0064500ad00d692a742f669 (diff)
parent467d251c3dcbd3e4dd1e785a21d63535b795a64c (diff)
downloadrails-11161e6c96fb6686a33e05ead106b96089ff9790.tar.gz
rails-11161e6c96fb6686a33e05ead106b96089ff9790.tar.bz2
rails-11161e6c96fb6686a33e05ead106b96089ff9790.zip
Merge commit 'rails/master'
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/relations_test.rb16
-rw-r--r--activerecord/test/models/post.rb6
2 files changed, 22 insertions, 0 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 1e345399f5..7b9e680c02 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -572,4 +572,20 @@ class RelationTest < ActiveRecord::TestCase
assert_equal Post.all, all_posts.all
end
+ def test_anonymous_extension
+ relation = Post.where(:author_id => 1).order('id ASC') do
+ def author
+ 'lifo'
+ end
+ end
+
+ assert_equal "lifo", relation.author
+ assert_equal "lifo", relation.limit(1).author
+ end
+
+ def test_named_extension
+ relation = Post.where(:author_id => 1).order('id ASC').extending(Post::NamedExtension)
+ assert_equal "lifo", relation.author
+ assert_equal "lifo", relation.limit(1).author
+ end
end
diff --git a/activerecord/test/models/post.rb b/activerecord/test/models/post.rb
index 704313649a..d092c4bf09 100644
--- a/activerecord/test/models/post.rb
+++ b/activerecord/test/models/post.rb
@@ -1,4 +1,10 @@
class Post < ActiveRecord::Base
+ module NamedExtension
+ def author
+ 'lifo'
+ end
+ end
+
scope :containing_the_letter_a, where("body LIKE '%a%'")
scope :ranked_by_comments, order("comments_count DESC")
scope :limit_by, lambda {|l| limit(l) }