diff --git a/Gemfile b/Gemfile index 6a9025e1b..299d66564 100644 --- a/Gemfile +++ b/Gemfile @@ -73,5 +73,4 @@ group :test do gem "simplecov", :require => false gem "timecop" gem "fakeweb" - gem "test_after_commit" # XXX remove me after upgrading to rails 5. end diff --git a/Gemfile.lock b/Gemfile.lock index ba9877b35..592076025 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -326,8 +326,6 @@ GEM rest-client (~> 1.4) term-ansicolor (1.3.2) tins (~> 1.0) - test_after_commit (1.1.0) - activerecord (>= 3.2) therubyracer (0.12.3) libv8 (~> 3.16.14.15) ref @@ -424,7 +422,6 @@ DEPENDENCIES streamio-ffmpeg stripe term-ansicolor - test_after_commit therubyracer timecop twitter @@ -435,4 +432,4 @@ DEPENDENCIES whenever BUNDLED WITH - 1.14.6 + 1.14.5 diff --git a/app/models/pool.rb b/app/models/pool.rb index 0b8023979..2254c675e 100644 --- a/app/models/pool.rb +++ b/app/models/pool.rb @@ -17,9 +17,9 @@ class Pool < ActiveRecord::Base before_validation :initialize_creator, :on => :create before_validation :strip_name after_save :update_category_pseudo_tags_for_posts_async + after_save :create_version after_create :synchronize! before_destroy :create_mod_action_for_destroy - after_commit :create_version, :on => [:create, :update] attr_accessible :name, :description, :post_ids, :post_id_array, :post_count, :is_active, :category, :as => [:member, :gold, :platinum, :janitor, :moderator, :admin, :default] attr_accessible :is_deleted, :as => [:moderator, :admin] diff --git a/app/models/post.rb b/app/models/post.rb index 06d4cdbde..2625f3879 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -23,13 +23,13 @@ class Post < ActiveRecord::Base before_save :set_tag_counts before_save :set_pool_category_pseudo_tags before_create :autoban + after_save :create_version after_save :update_parent_on_save after_save :apply_post_metatags after_save :expire_essential_tag_string_cache after_destroy :remove_iqdb_async after_destroy :delete_files after_destroy :delete_remote_files - after_commit :create_version, :on => [:create, :update] after_commit :update_iqdb_async, :on => :create after_commit :notify_pubsub @@ -1397,7 +1397,7 @@ class Post < ActiveRecord::Base module VersionMethods def create_version(force = false) - if force || new_record? || previous_changes.key?("rating") || previous_changes.key?("source") || previous_changes.key?("parent_id") || previous_changes.key?("tag_string") + if new_record? || rating_changed? || source_changed? || parent_id_changed? || tag_string_changed? || force create_new_version end end diff --git a/test/unit/pool_test.rb b/test/unit/pool_test.rb index f11abce3c..abf91bad2 100644 --- a/test/unit/pool_test.rb +++ b/test/unit/pool_test.rb @@ -244,6 +244,7 @@ class PoolTest < ActiveSupport::TestCase @pool.update(name: "blah") assert_equal("blah", @pool.versions.last.name) end + assert_equal(2, @pool.versions.size) end should "know what its post ids were previously" do diff --git a/test/unit/post_archive_test.rb b/test/unit/post_archive_test.rb index 0cf353028..56fec25ad 100644 --- a/test/unit/post_archive_test.rb +++ b/test/unit/post_archive_test.rb @@ -102,11 +102,10 @@ class PostArchiveTest < ActiveSupport::TestCase setup do PostArchive.sqs_service.stubs(:merge?).returns(false) @post = FactoryGirl.create(:post, :tag_string => "aaa bbb ccc", :rating => "q", :source => "xyz") + @post.update_attributes(:tag_string => "bbb ccc xxx", :source => "") end should "also create a version" do - @post.update_attributes(:tag_string => "bbb ccc xxx", :source => "") - assert_equal(2, @post.versions.size) @version = @post.versions.sort_by(&:id).last assert_equal("bbb ccc xxx", @version.tags)