From aef7f36eac1952570ebea5f3ab259a1a9b9e7e47 Mon Sep 17 00:00:00 2001 From: Ryan Drake Date: Sat, 9 Jun 2012 22:31:07 -0700 Subject: [PATCH 1/3] Lock factory_girl to v2.6.0, which is compatible with ruby 1.8 --- acts_as_follower.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acts_as_follower.gemspec b/acts_as_follower.gemspec index 7975494..540ea3a 100644 --- a/acts_as_follower.gemspec +++ b/acts_as_follower.gemspec @@ -20,6 +20,6 @@ Gem::Specification.new do |s| s.add_development_dependency "sqlite3" s.add_development_dependency "shoulda" - s.add_development_dependency "factory_girl" + s.add_development_dependency "factory_girl", "~>2.6.0" s.add_development_dependency "rails", "~>3.0.10" end From 9b883fdbe2f683ab89a90e16b57bf4e1631dc43e Mon Sep 17 00:00:00 2001 From: Ryan Drake Date: Sat, 9 Jun 2012 22:32:50 -0700 Subject: [PATCH 2/3] Lock shoulda to version 2.11.3, because acts_as_follower uses should_change, which has been removed from recent versions of shoulda --- acts_as_follower.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acts_as_follower.gemspec b/acts_as_follower.gemspec index 540ea3a..766e7cd 100644 --- a/acts_as_follower.gemspec +++ b/acts_as_follower.gemspec @@ -19,7 +19,7 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_development_dependency "sqlite3" - s.add_development_dependency "shoulda" + s.add_development_dependency "shoulda", "~>2.11.3" s.add_development_dependency "factory_girl", "~>2.6.0" s.add_development_dependency "rails", "~>3.0.10" end From 3f1f2842fa482ac5348d76173c1a3bdaf7ac32e0 Mon Sep 17 00:00:00 2001 From: Ryan Drake Date: Sat, 9 Jun 2012 22:36:29 -0700 Subject: [PATCH 3/3] Removed the ability for a followable to block oneself, an act that doesn't make sense given that an object cannot follow oneself --- lib/acts_as_follower/followable.rb | 2 +- test/acts_as_followable_test.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/acts_as_follower/followable.rb b/lib/acts_as_follower/followable.rb index 7582859..178867f 100644 --- a/lib/acts_as_follower/followable.rb +++ b/lib/acts_as_follower/followable.rb @@ -89,7 +89,7 @@ def get_follow_for(follower) private def block_future_follow(follower) - follows.create(:followable => self, :follower => follower, :blocked => true) + follows.create(:followable => self, :follower => follower, :blocked => true) unless follower == self end def block_existing_follow(follower) diff --git a/test/acts_as_followable_test.rb b/test/acts_as_followable_test.rb index 8b9364d..8488821 100644 --- a/test/acts_as_followable_test.rb +++ b/test/acts_as_followable_test.rb @@ -111,6 +111,16 @@ class ActsAsFollowableTest < ActiveSupport::TestCase end end + context "blocking yourself" do + setup do + @jon.block(@jon) + end + + should "not add self to the blocked followers" do + assert_equal 0, @jon.blocked_followers_count + end + end + context "blocking a follower" do context "in my following list" do setup do