Module: Homebrew::Unlink

Defined in:
unlink.rb

Overview

Provides helper methods for unlinking formulae and kegs with consistent output.

Class Method Summary collapse

Class Method Details



19
20
21
22
23
24
25
26
27
# File 'unlink.rb', line 19

def self.unlink(keg, dry_run: false, verbose: false)
  options = { dry_run: dry_run, verbose: verbose }

  keg.lock do
    print "Unlinking #{keg}... "
    puts if verbose
    puts "#{keg.unlink(**options)} symlinks removed."
  end
end


7
8
9
10
11
12
13
14
15
16
17
# File 'unlink.rb', line 7

def self.unlink_versioned_formulae(formula, verbose: false)
  formula.versioned_formulae
         .select(&:keg_only?)
         .select(&:linked?)
         .map(&:any_installed_keg)
         .compact
         .select(&:directory?)
         .each do |keg|
    unlink(keg, verbose: verbose)
  end
end