class Rake::Funnel::Support::SpecsRemover::PaketReferences

Public Class Methods

remove_packages(projects, packages) click to toggle source
# File lib/rake/funnel/support/specs_remover.rb, line 107
def remove_packages(projects, packages)
  projects.each do |project|
    references = paket_references_for(project)
    Trace.message("Found #{references || 'no paket.references'} for #{project}}")

    next unless references

    text = File.read(references)
    removed = remove(text, packages)

    File.write(references, removed) if removed != text
  end
end

Private Class Methods

paket_references_for(project) click to toggle source
# File lib/rake/funnel/support/specs_remover.rb, line 123
def paket_references_for(project)
  project_specific = project + '.paket.references'
  global = File.join(File.dirname(project), 'paket.references')

  [project_specific, global].select { |f| File.exist?(f) }.first
end
remove(text, packages) click to toggle source
# File lib/rake/funnel/support/specs_remover.rb, line 130
def remove(text, packages)
  Trace.message("Removing packages: #{packages.inspect}")
  packages.each do |package|
    text = text.gsub(/^\s*#{package}.*\n?/i, '')
  end
  text
end