class PuppetfileResolver::Puppetfile::DocumentVersionConflictError

Public Class Methods

new(molinillo_error) click to toggle source
# File lib/puppetfile-resolver/puppetfile/validation_errors.rb, line 55
def initialize(molinillo_error)
  super(molinillo_error.message_with_trees(solver_name: 'Puppetfile Resolver'), molinillo_error)
end

Public Instance Methods

puppetfile_modules() click to toggle source
# File lib/puppetfile-resolver/puppetfile/validation_errors.rb, line 59
def puppetfile_modules
  puppetfile_modules = []
  molinillo_error.conflicts.reduce(''.dup) do |_o, (_name, conflict)|
    # We don't actually care about the dependency tree,
    # only the leaves within. So just grab all of leaves and
    # find all of the modules in the Puppetfile document
    conflict
      .requirement_trees
      .flatten
      .uniq
      .select { |req| req.is_a?(PuppetfileResolver::Models::PuppetfileDependency) }
      .each do |req|
        puppetfile_modules << req.puppetfile_module unless puppetfile_modules.include?(req.puppetfile_module)
      end
  end

  puppetfile_modules
end