class File::Stat def self.device_name(file) Dir['/dev/*'].inject({}) { |h, v| h.update(File.stat(v).rdev => v) }.values_at(File.stat(file).dev).first || nil end end
Simple use-case:
(main):001:0> File::Stat.device_name('/etc/resolv.conf') => "/dev/sda3"
Please note that this code may not be portable enough as it relies on the content of /dev.
No comments:
Post a Comment