Class: Dyph::Support::Diff3
- Inherits:
-
Object
- Object
- Dyph::Support::Diff3
- Defined in:
- lib/dyph/support/diff3.rb
Defined Under Namespace
Classes: Diff2Command
Class Method Summary collapse
Instance Method Summary collapse
- #get_differences ⇒ Object
-
#initialize(left, base, right, diff2) ⇒ Diff3
constructor
A new instance of Diff3.
Constructor Details
#initialize(left, base, right, diff2) ⇒ Diff3
Returns a new instance of Diff3.
9 10 11 12 13 14 |
# File 'lib/dyph/support/diff3.rb', line 9 def initialize(left, base, right, diff2) @left = left @right = right @base = base @diff2 = diff2 end |
Class Method Details
.execute_diff(left, base, right, diff2) ⇒ Object
5 6 7 |
# File 'lib/dyph/support/diff3.rb', line 5 def self.execute_diff(left, base, right, diff2) Diff3.new(left, base, right, diff2).get_differences end |
Instance Method Details
#get_differences ⇒ Object
16 17 18 19 20 21 |
# File 'lib/dyph/support/diff3.rb', line 16 def get_differences #[[action, base_lo, base_hi, side_lo, side_hi]...] left_diff = @diff2.diff(@base, @left).map { |r| Diff2Command.new(*r) } right_diff = @diff2.diff(@base, @right).map { |r| Diff2Command.new(*r) } collapse_differences(DiffDoubleQueue.new(left_diff, right_diff)) end |