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  |