Class: Homebrew::Diagnostic::Volumes Private
- Inherits:
-
Object
- Object
- Homebrew::Diagnostic::Volumes
- Defined in:
- Library/Homebrew/extend/os/mac/diagnostic.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
- #get_mounts(path = nil) ⇒ Object private
-
#initialize ⇒ Volumes
constructor
private
A new instance of Volumes.
- #which(path) ⇒ Object private
Constructor Details
#initialize ⇒ Volumes
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Volumes.
7 8 9 |
# File 'Library/Homebrew/extend/os/mac/diagnostic.rb', line 7 def initialize @volumes = get_mounts end |
Instance Method Details
#get_mounts(path = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'Library/Homebrew/extend/os/mac/diagnostic.rb', line 24 def get_mounts(path = nil) vols = [] # get the volume of path, if path is nil returns all volumes args = %w[/bin/df -P] args << path if path Utils.popen_read(*args) do |io| io.each_line do |line| case line.chomp # regex matches: /dev/disk0s2 489562928 440803616 48247312 91% / when /^.+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9]{1,3}%\s+(.+)/ vols << Regexp.last_match(1) end end end vols end |
#which(path) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'Library/Homebrew/extend/os/mac/diagnostic.rb', line 11 def which(path) vols = get_mounts path # no volume found return -1 if vols.empty? vol_index = @volumes.index(vols[0]) # volume not found in volume list return -1 if vol_index.nil? vol_index end |