Class: Dyph::MergeResult
- Inherits:
-
Object
- Object
- Dyph::MergeResult
- Defined in:
- lib/dyph/merge_result.rb
Instance Method Summary collapse
-
#conflict? ⇒ Boolean
conflict state.
-
#initialize(results, join_function, conflict: false, conflict_handler: nil) ⇒ MergeResult
constructor
A new instance of MergeResult.
-
#joined_results ⇒ Object
Applies the join function or conflict handler to diff3 results array.
-
#results ⇒ Array
Of outcomes (Outcome::Conflicted or Outcome::Resolved).
-
#success? ⇒ Boolean
success state.
Constructor Details
#initialize(results, join_function, conflict: false, conflict_handler: nil) ⇒ MergeResult
Returns a new instance of MergeResult.
8 9 10 11 12 13 |
# File 'lib/dyph/merge_result.rb', line 8 def initialize(results, join_function, conflict: false, conflict_handler: nil) @results = results @join_function = join_function @conflict_handler = conflict_handler @conflict = conflict end |
Instance Method Details
#conflict? ⇒ Boolean
Returns conflict state.
26 27 28 |
# File 'lib/dyph/merge_result.rb', line 26 def conflict? @conflict end |
#joined_results ⇒ Object
Applies the join function or conflict handler to diff3 results array
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/dyph/merge_result.rb', line 32 def joined_results if conflict? if @conflict_handler @conflict_handler[results] else results end else first, rest = results.first, results[1..-1] rest.reduce(first) { |rs, r| rs.combine(r) }.apply(@join_function).result end end |
#results ⇒ Array
Returns of outcomes (Outcome::Conflicted or Outcome::Resolved).
16 17 18 |
# File 'lib/dyph/merge_result.rb', line 16 def results @results end |
#success? ⇒ Boolean
Returns success state.
21 22 23 |
# File 'lib/dyph/merge_result.rb', line 21 def success? !@conflict end |