Files
danbooru/app/helpers/pool_versions_helper.rb
evazion c2688e3aff Fix #4263: Wiki page differences use the wrong order.
Standardize DiffBuilder to treat the first argument as the new item and
the second argument as the old item. This is the order used in most
other places.
2020-01-21 00:09:38 -06:00

27 lines
921 B
Ruby

module PoolVersionsHelper
def pool_versions_listing_type
params.dig(:search, :pool_id).present? ? :revert : :standard
end
def pool_version_status_diff(pool_version)
cur = pool_version
prev = pool_version.previous
return "New" if prev.blank?
status = []
status += ["Renamed"] if cur.name != prev.name
status += ["DescChanged"] if cur.description != prev.description
status += ["Deleted"] if cur.is_deleted? && !prev.is_deleted?
status += ["Undeleted"] if !cur.is_deleted? && prev.is_deleted?
status += ["Activated"] if cur.is_active? && !prev.is_active?
status += ["Deactivated"] if !cur.is_active? && prev.is_active?
status.join(" ")
end
def pool_page_diff(pool_version, other_version)
pattern = Regexp.new('(?:<.+?>)|(?:\w+)|(?:[ \t]+)|(?:\r?\n)|(?:.+?)')
DiffBuilder.new(pool_version.description, other_version.description, pattern).build
end
end