Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > pathnameライブラリ > Pathnameクラス > relative_path_from

instance method Pathname#relative_path_from

relative_path_from(base_directory) -> Pathname[permalink][rdoc]

base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。

パス名の解決は文字列操作によって行われ、ファイルシステムをアクセスしません。

self が相対パスなら base_directory も相対パス、self が絶対パスなら base_directory も絶対パスでなければなりません。

[PARAM] base_directory:
ベースディレクトリを表す Pathname オブジェクトを指定します。
[EXCEPTION] ArgumentError:
Windows上でドライブが違うなど、base_directory から self への相対パスが求められないときに例外が発生します。


require 'pathname'

path = Pathname.new("/tmp/foo")
base = Pathname.new("/tmp")

path.relative_path_from(base) # => #<Pathname:foo>