Files
danbooru/app/helpers/pool_versions_helper.rb
BrokenEagle 34542fdf5c Pool versions diff: Use diff builder to highlight description changes
- Add highlights for name changes
- Separate and name the sections
2020-01-07 18:48:51 +00:00

26 lines
920 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(other_version.description, pool_version.description, pattern).build
end
end