29 lines
611 B
Ruby
29 lines
611 B
Ruby
|
require 'plist'
|
||
|
|
||
|
# gem install plist
|
||
|
# gem pristine io-console --version 0.7.2
|
||
|
|
||
|
module Storage
|
||
|
|
||
|
def self.get_mounting_point(uuid)
|
||
|
if RUBY_PLATFORM.include?("darwin")
|
||
|
output = `diskutil list -plist`
|
||
|
plist = Plist.parse_xml(output)
|
||
|
|
||
|
plist["AllDisksAndPartitions"].each do |disk|
|
||
|
if disk["APFSVolumes"]
|
||
|
|
||
|
disk["APFSVolumes"].each do |partition|
|
||
|
if partition["DiskUUID"] == uuid
|
||
|
return partition["MountPoint"]
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
else
|
||
|
puts "TODO: Implement for Linux"
|
||
|
end
|
||
|
return nil
|
||
|
end
|
||
|
end
|