class StructureConflictResolver::MergeConflict
Constants
- CONFLICT_A
- CONFLICT_B
- DIVIDER
Attributes
current_line[RW]
head_branch_blob[RW]
original_blob[RW]
our_commit_blob[RW]
Public Class Methods
new()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 13 def initialize @original_blob = String.new @head_branch_blob = String.new @our_commit_blob = String.new end
Public Instance Methods
parse!(line)
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 38 def parse!(line) @current_line = line enter_head_blob if may_enter_head_blob? enter_our_blob if may_enter_our_blob? complete_scanning if may_complete_scanning? store_lines! end
parse_error?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 47 def parse_error? !not_detected? && !scanning_completed? end
resolvable?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 51 def resolvable? !resolved_text.nil? end
resolved_text()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 55 def resolved_text @resolved_text ||= StructureType.from(head_branch_blob + our_commit_blob).resolved rescue end
Private Instance Methods
at_divider?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 83 def at_divider? current_line =~ DIVIDER end
git_noise?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 71 def git_noise? matches_conflict_start? || at_divider? || matches_conflict_end? end
matches_conflict_end?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 79 def matches_conflict_end? current_line =~ CONFLICT_B end
matches_conflict_start?()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 75 def matches_conflict_start? current_line =~ CONFLICT_A end
store_lines!()
click to toggle source
# File lib/structure_conflict_resolver/merge_conflict.rb, line 62 def store_lines! original_blob << current_line if in_head_blob? || in_our_blob? || git_noise? unless git_noise? head_branch_blob << current_line if in_head_blob? our_commit_blob << current_line if in_our_blob? end end