Class: PuppetfileResolver::Resolver
- Inherits:
-
Object
- Object
- PuppetfileResolver::Resolver
- Defined in:
- lib/puppetfile-resolver/resolver.rb
Instance Attribute Summary collapse
-
#dependencies_to_resolve ⇒ Object
readonly
Returns the value of attribute dependencies_to_resolve.
-
#puppetfile ⇒ Object
readonly
Returns the value of attribute puppetfile.
Instance Method Summary collapse
-
#initialize(puppetfile_document, puppet_version = nil) ⇒ Resolver
constructor
A new instance of Resolver.
-
#resolve(options = {}) ⇒ Object
options :cache => Cache Object :module_paths => ArrayString :spec_searcher_configuration => PuppetfileResolver::SpecSearchers::Configuration.
Constructor Details
#initialize(puppetfile_document, puppet_version = nil) ⇒ Resolver
Returns a new instance of Resolver.
13 14 15 16 17 18 19 |
# File 'lib/puppetfile-resolver/resolver.rb', line 13 def initialize(puppetfile_document, puppet_version = nil) @puppetfile = puppetfile_document raise 'Puppetfile is not valid' unless @puppetfile.valid? @puppet_version = puppet_version @dependencies_to_resolve = dependencies_from_puppetfile end |
Instance Attribute Details
#dependencies_to_resolve ⇒ Object (readonly)
Returns the value of attribute dependencies_to_resolve.
11 12 13 |
# File 'lib/puppetfile-resolver/resolver.rb', line 11 def dependencies_to_resolve @dependencies_to_resolve end |
#puppetfile ⇒ Object (readonly)
Returns the value of attribute puppetfile.
10 11 12 |
# File 'lib/puppetfile-resolver/resolver.rb', line 10 def puppetfile @puppetfile end |
Instance Method Details
#resolve(options = {}) ⇒ Object
options :cache => Cache Object :module_paths => ArrayString :spec_searcher_configuration => PuppetfileResolver::SpecSearchers::Configuration
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/puppetfile-resolver/resolver.rb', line 25 def resolve( = {}) if [:ui] raise 'The UI object must be of type Molinillo::UI' unless [:ui].is_a?(Molinillo::UI) ui = [:ui] else require 'puppetfile-resolver/ui/null_ui' ui = PuppetfileResolver::UI::NullUI.new end provider = ResolutionProvider.new(@puppetfile, @puppet_version, ui, ) resolver = Molinillo::Resolver.new(provider, ui) begin result = resolver.resolve(dependencies_to_resolve) rescue Molinillo::VersionConflict => e # Wrap the Molinillo error new_e = PuppetfileResolver::Puppetfile::DocumentVersionConflictError.new(e) raise new_e, new_e., e.backtrace rescue Molinillo::CircularDependencyError => e # Wrap the Molinillo error new_e = PuppetfileResolver::Puppetfile::DocumentCircularDependencyError.new(@puppetfile, e) raise new_e, new_e., e.backtrace end ResolutionResult.new(result, @puppetfile) end |