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.
27 lines
921 B
Ruby
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
|