From 5ea1b7399b627c9623c6cbd8c0b12b5fcfd9b99a Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Wed, 22 Feb 2012 23:50:05 -0800 Subject: Change a .map to a .pluck. --- app/models/refinery/blog/post.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/refinery/blog/post.rb b/app/models/refinery/blog/post.rb index ddfc3cc..9f672c5 100644 --- a/app/models/refinery/blog/post.rb +++ b/app/models/refinery/blog/post.rb @@ -72,7 +72,7 @@ module Refinery end def published_dates_older_than(date) - where("published_at <= ?", date).map(&:published_at) + where("published_at <= ?", date).pluck(:published_at) end def live -- cgit v1.2.3 From c9ff548329cf1bbc2e82653a81a56ef57c9676c5 Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Thu, 23 Feb 2012 00:02:15 -0800 Subject: DRY some Refinery::Blog::Post methods. --- app/models/refinery/blog/post.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/models/refinery/blog/post.rb b/app/models/refinery/blog/post.rb index 9f672c5..a4507ed 100644 --- a/app/models/refinery/blog/post.rb +++ b/app/models/refinery/blog/post.rb @@ -72,23 +72,19 @@ module Refinery end def published_dates_older_than(date) - where("published_at <= ?", date).pluck(:published_at) + published_before(date).pluck(:published_at) end - def live - where( "published_at <= ? and draft = ?", Time.now, false) - end - def recent(count) live.limit(count) end - + def popular(count) unscoped.order("access_count DESC").limit(count) end def previous(item) - where(["published_at < ? and draft = ?", item.published_at, false]).limit(1) + published_before(item.published_at).limit(1) end def uncategorized @@ -101,6 +97,11 @@ module Refinery end end + def published_before(date=Time.now) + where("published_at < ? and draft = ?", date, false) + end + alias_method :live, :published_before + def comments_allowed? Refinery::Setting.find_or_set(:comments_allowed, true, :scoping => 'blog') end -- cgit v1.2.3 From 2537923034163a3a99810bde11cdee95339d60b5 Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Thu, 23 Feb 2012 00:09:09 -0800 Subject: Remove functionality provided by rails. --- app/models/refinery/blog/post.rb | 6 ------ spec/models/refinery/blog/post_spec.rb | 17 ----------------- 2 files changed, 23 deletions(-) diff --git a/app/models/refinery/blog/post.rb b/app/models/refinery/blog/post.rb index a4507ed..81d2f54 100644 --- a/app/models/refinery/blog/post.rb +++ b/app/models/refinery/blog/post.rb @@ -52,12 +52,6 @@ module Refinery !draft and published_at <= Time.now end - def category_ids=(ids) - self.categories = ids.reject{|id| id.blank?}.collect {|c_id| - Refinery::Blog::Category.find(c_id.to_i) rescue nil - }.compact - end - def friendly_id_source custom_url.present? ? custom_url : title end diff --git a/spec/models/refinery/blog/post_spec.rb b/spec/models/refinery/blog/post_spec.rb index acc4f95..0b96311 100644 --- a/spec/models/refinery/blog/post_spec.rb +++ b/spec/models/refinery/blog/post_spec.rb @@ -148,23 +148,6 @@ module Refinery end end - describe "#category_ids=" do - before do - @cat1 = FactoryGirl.create(:blog_category, :id => 1) - @cat2 = FactoryGirl.create(:blog_category, :id => 2) - @cat3 = FactoryGirl.create(:blog_category, :id => 3) - post.category_ids = [1,2,"","",3] - end - - it "rejects blank category ids" do - post.categories.count.should == 3 - end - - it "returns array of categories based on given ids" do - post.categories.should == [@cat1, @cat2, @cat3] - end - end - describe ".comments_allowed?" do context "with Refinery::Setting comments_allowed set to true" do before do -- cgit v1.2.3 From 5eaad8997fa5d8e63f331ec5846f029506a6e309 Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Thu, 23 Feb 2012 00:20:37 -0800 Subject: Cleanup next and previous stuff. --- app/models/refinery/blog/post.rb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/models/refinery/blog/post.rb b/app/models/refinery/blog/post.rb index 81d2f54..6873243 100644 --- a/app/models/refinery/blog/post.rb +++ b/app/models/refinery/blog/post.rb @@ -8,7 +8,6 @@ module Refinery is_seo_meta if self.table_exists? default_scope :order => 'published_at DESC' - #.first & .last will be reversed -- consider a with_exclusive_scope on these? belongs_to :author, :class_name => 'Refinery::User', :foreign_key => :user_id, :readonly => true @@ -41,11 +40,11 @@ module Refinery self.per_page = Refinery::Blog.posts_per_page def next - self.class.next(self).first + self.class.next(self) end def prev - self.class.previous(self).first + self.class.previous(self) end def live? @@ -78,7 +77,7 @@ module Refinery end def previous(item) - published_before(item.published_at).limit(1) + published_before(item.published_at).first end def uncategorized @@ -86,9 +85,7 @@ module Refinery end def next(current_record) - self.send(:with_exclusive_scope) do - where(["published_at > ? and draft = ?", current_record.published_at, false]).order("published_at ASC") - end + where(["published_at > ? and draft = ?", current_record.published_at, false]).first end def published_before(date=Time.now) -- cgit v1.2.3 From d353cd556cd63da1b60600bb8a6ab38ca7f09f1c Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Thu, 23 Feb 2012 00:29:46 -0800 Subject: Don't need to specify class names here. --- app/models/refinery/blog/comment.rb | 4 ++-- app/models/refinery/blog/post.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/refinery/blog/comment.rb b/app/models/refinery/blog/comment.rb index 9187306..3675e46 100644 --- a/app/models/refinery/blog/comment.rb +++ b/app/models/refinery/blog/comment.rb @@ -8,7 +8,7 @@ module Refinery :email_field => :email, :message_field => :body - belongs_to :post, :class_name => 'Refinery::Blog::Post', :foreign_key => 'blog_post_id' + belongs_to :post, :foreign_key => 'blog_post_id' acts_as_indexed :fields => [:name, :email, :message] @@ -132,4 +132,4 @@ module Refinery end end -end \ No newline at end of file +end diff --git a/app/models/refinery/blog/post.rb b/app/models/refinery/blog/post.rb index 6873243..75911b9 100644 --- a/app/models/refinery/blog/post.rb +++ b/app/models/refinery/blog/post.rb @@ -11,7 +11,7 @@ module Refinery belongs_to :author, :class_name => 'Refinery::User', :foreign_key => :user_id, :readonly => true - has_many :comments, :class_name => 'Refinery::Blog::Comment', :dependent => :destroy, :foreign_key => :blog_post_id + has_many :comments, :dependent => :destroy, :foreign_key => :blog_post_id acts_as_taggable has_many :categorizations, :dependent => :destroy, :foreign_key => :blog_post_id -- cgit v1.2.3