Add alternate comparison types to versions

- The types are:
-- Previous: The default and the previously used type
-- Subsequent: Compares against the next version
-- Current: Compares against the current version
- Allow switching between comparison types in index and diff views
-- Have links vary depending upon current comparison type
This commit is contained in:
BrokenEagle
2020-03-17 07:23:42 +00:00
parent a95e57d938
commit e23ee170f5
41 changed files with 488 additions and 221 deletions

View File

@@ -1,14 +1,12 @@
class SetDiff
attr_reader :additions, :removals, :added, :removed, :obsolete_added, :obsolete_removed, :changed, :unchanged
attr_reader :additions, :removals, :added, :removed, :changed, :unchanged
def initialize(new, old, latest)
new, old, latest = new.to_a, old.to_a, latest.to_a
def initialize(this_list, other_list)
this, other = this_list.to_a, other_list.to_a
@additions = new - old
@removals = old - new
@unchanged = new & old
@obsolete_added = additions - latest
@obsolete_removed = removals & latest
@additions = this - other
@removals = other - this
@unchanged = this & other
@added, @removed, @changed = changes(additions, removals)
end