Sha256: 5e0b476f02152fedf12733bacea04d15cbc32de3e15527a815a5baa989197235
Contents?: true
Size: 814 Bytes
Versions: 5
Compression:
Stored size: 814 Bytes
Contents
class File RELATIVE_PARENTDIR = '..' # Turns a path +to+ into a relative path from starting # point +from+. The argument +from+ is assumed to be # a filename. To treat it as a directory, make sure it # ends in `File::SEPARATOR` ('/' on UNIX filesystems). # # @param [String] from the starting filename # (or directory with +from_isdir+ set to +true+). # # @param [String] to the final path that should be made relative. # # @return [String] the relative path from +from+ to +to+. # def self.relative_path(from, to) from = expand_path(from).split(SEPARATOR) to = expand_path(to).split(SEPARATOR) from.length.times do break if from[0] != to[0] from.shift; to.shift end fname = from.pop join *(from.map { RELATIVE_PARENTDIR } + to) end end
Version data entries
5 entries across 5 versions & 1 rubygems