Class: Build::Dependency::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/build/dependency/resolver.rb

Overview

Base class for resolving dependencies.

Direct Known Subclasses

Chain, PartialChain

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeResolver

Initialize an empty resolver.



28
29
30
31
32
33
34
# File 'lib/build/dependency/resolver.rb', line 28

def initialize
	@resolved = {}
	@ordered = []
	@provisions = []
	@unresolved = []
	@conflicts = {}
end

Instance Attribute Details

#conflictsObject (readonly)

Returns the value of attribute conflicts.



40
41
42
# File 'lib/build/dependency/resolver.rb', line 40

def conflicts
  @conflicts
end

#orderedObject (readonly)

Returns the value of attribute ordered.



37
38
39
# File 'lib/build/dependency/resolver.rb', line 37

def ordered
  @ordered
end

#provisionsObject (readonly)

Returns the value of attribute provisions.



38
39
40
# File 'lib/build/dependency/resolver.rb', line 38

def provisions
  @provisions
end

#resolvedObject (readonly)

Returns the value of attribute resolved.



36
37
38
# File 'lib/build/dependency/resolver.rb', line 36

def resolved
  @resolved
end

#unresolvedObject (readonly)

Returns the value of attribute unresolved.



39
40
41
# File 'lib/build/dependency/resolver.rb', line 39

def unresolved
  @unresolved
end

Instance Method Details

#freezeObject

Freeze the resolver and all its internal state.



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/build/dependency/resolver.rb', line 43

def freeze
	return self if frozen?
	
	@resolved.freeze
	@ordered.freeze
	@provisions.freeze
	@unresolved.freeze
	@conflicts.freeze
	
	super
end