From 372fd7df1bfd51cae8199d7ff4421fda30a53774 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 10 Sep 2019 14:58:12 -0500 Subject: [PATCH] /pool_versions: fix exception in pool diffs. https://danbooru.donmai.us/forum_topics/9127?page=280#forum_post_159633 --- app/models/pool_archive.rb | 11 +++++------ app/views/pool_versions/diff.html.erb | 5 ++++- test/functional/pool_versions_controller_test.rb | 11 +++++++++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/models/pool_archive.rb b/app/models/pool_archive.rb index 19c816cdf..9994de4c7 100644 --- a/app/models/pool_archive.rb +++ b/app/models/pool_archive.rb @@ -62,19 +62,18 @@ class PoolArchive < ApplicationRecord sqs_service.send_message(msg, message_group_id: "pool:#{pool.id}") end - def build_diff(other = nil) + def build_diff(other = previous) diff = {} - prev = previous - if prev.nil? + if other.nil? diff[:added_post_ids] = added_post_ids diff[:removed_post_ids] = removed_post_ids diff[:added_desc] = description else - diff[:added_post_ids] = post_ids - prev.post_ids - diff[:removed_post_ids] = prev.post_ids - post_ids + diff[:added_post_ids] = post_ids - other.post_ids + diff[:removed_post_ids] = other.post_ids - post_ids diff[:added_desc] = description - diff[:removed_desc] = prev.description + diff[:removed_desc] = other.description end diff diff --git a/app/views/pool_versions/diff.html.erb b/app/views/pool_versions/diff.html.erb index 895091345..af13e23be 100644 --- a/app/views/pool_versions/diff.html.erb +++ b/app/views/pool_versions/diff.html.erb @@ -3,7 +3,10 @@

Pool Version Comparison: <%= @pool_version.name %>