Class: Eternity::ConflictResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/eternity/conflict_resolver.rb

Defined Under Namespace

Classes: Diff

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current, target, base = {}) ⇒ ConflictResolver

Returns a new instance of ConflictResolver.



8
9
10
11
12
# File 'lib/eternity/conflict_resolver.rb', line 8

def initialize(current, target, base={})
  @current = current
  @target = target
  @base = base
end

Instance Attribute Details

#baseObject (readonly)

Returns the value of attribute base.



6
7
8
# File 'lib/eternity/conflict_resolver.rb', line 6

def base
  @base
end

#currentObject (readonly)

Returns the value of attribute current.



6
7
8
# File 'lib/eternity/conflict_resolver.rb', line 6

def current
  @current
end

#targetObject (readonly)

Returns the value of attribute target.



6
7
8
# File 'lib/eternity/conflict_resolver.rb', line 6

def target
  @target
end

Class Method Details

.resolve(current, target, base = {}) ⇒ Object



20
21
22
# File 'lib/eternity/conflict_resolver.rb', line 20

def self.resolve(current, target, base={})
  new(current, target, base).resolve
end

Instance Method Details

#resolveObject



14
15
16
17
18
# File 'lib/eternity/conflict_resolver.rb', line 14

def resolve
  current_diff = diff current, base
  target_diff = diff target, base
  merge(target_diff, target, merge(current_diff, current, base))
end