Commit 892e18f75643836381e6ad406442c5c2ab31548f
1 parent
2390ac55
Exists in
master
and in
29 other branches
ActionItem153: refactoring: changin Article.recent to receive only limit paramet…
…er. Other search arguments will come from scope (e.g. Profile#recent_documents) git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1280 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
8 additions
and
14 deletions
Show diff stats
app/controllers/public/home_controller.rb
app/models/article.rb
@@ -26,13 +26,10 @@ class Article < ActiveRecord::Base | @@ -26,13 +26,10 @@ class Article < ActiveRecord::Base | ||
26 | self.find(:all, :conditions => [ 'parent_id is null and profile_id = ?', profile.id ]) | 26 | self.find(:all, :conditions => [ 'parent_id is null and profile_id = ?', profile.id ]) |
27 | end | 27 | end |
28 | 28 | ||
29 | - # retrieves the latest +limit+ articles in profile +profile+, sorted from the | ||
30 | - # most recent to the oldest. | ||
31 | - # | ||
32 | - # If +profile+ is +nil+, then all profiles are searched for articles. | ||
33 | - def self.recent(profile, limit) | 29 | + # retrieves the latest +limit+ articles, sorted from the most recent to the |
30 | + # oldest. | ||
31 | + def self.recent(limit) | ||
34 | options = { :limit => limit, :order => 'created_on' } | 32 | options = { :limit => limit, :order => 'created_on' } |
35 | - options[:conditions] = { :profile_id => profile.id } if profile | ||
36 | self.find(:all, options) | 33 | self.find(:all, options) |
37 | end | 34 | end |
38 | 35 |
app/models/profile.rb
@@ -131,7 +131,7 @@ class Profile < ActiveRecord::Base | @@ -131,7 +131,7 @@ class Profile < ActiveRecord::Base | ||
131 | # +limit+ is the maximum number of documents to be returned. It defaults to | 131 | # +limit+ is the maximum number of documents to be returned. It defaults to |
132 | # 10. | 132 | # 10. |
133 | def recent_documents(limit = 10) | 133 | def recent_documents(limit = 10) |
134 | - self.articles.recent(self, limit) | 134 | + self.articles.recent(limit) |
135 | end | 135 | end |
136 | 136 | ||
137 | class << self | 137 | class << self |
test/unit/article_test.rb
@@ -132,7 +132,7 @@ class ArticleTest < Test::Unit::TestCase | @@ -132,7 +132,7 @@ class ArticleTest < Test::Unit::TestCase | ||
132 | end | 132 | end |
133 | end | 133 | end |
134 | 134 | ||
135 | - should 'search for recent documents for a given profile' do | 135 | + should 'search for recent documents' do |
136 | first = profile.articles.build(:name => 'first'); first.save! | 136 | first = profile.articles.build(:name => 'first'); first.save! |
137 | second = profile.articles.build(:name => 'second'); second.save! | 137 | second = profile.articles.build(:name => 'second'); second.save! |
138 | third = profile.articles.build(:name => 'third'); third.save! | 138 | third = profile.articles.build(:name => 'third'); third.save! |
@@ -142,11 +142,8 @@ class ArticleTest < Test::Unit::TestCase | @@ -142,11 +142,8 @@ class ArticleTest < Test::Unit::TestCase | ||
142 | other_profile = create_user('otherpropfile').person | 142 | other_profile = create_user('otherpropfile').person |
143 | other_first = other_profile.articles.build(:name => 'first'); other_first.save! | 143 | other_first = other_profile.articles.build(:name => 'first'); other_first.save! |
144 | 144 | ||
145 | - assert_equal [first,second,third], Article.recent(profile, 3) | ||
146 | - | ||
147 | - assert_equal [first,second,third,forth,fifth], Article.recent(profile, 10) | ||
148 | - | ||
149 | - assert_equal [first,second,third,forth,fifth,other_first], Article.recent(nil, 10) | 145 | + assert_equal [first,second,third], Article.recent(3) |
146 | + assert_equal [first,second,third,forth,fifth,other_first], Article.recent(10) | ||
150 | end | 147 | end |
151 | 148 | ||
152 | should 'provied proper descriptions' do | 149 | should 'provied proper descriptions' do |