File.expand_path の第2引数の扱いは undocumented だからな
現在は File.exppand_path して File.dirname されているということを知ってる人がどれだけいるのやら
つまり、以下の4つは同じように /full/path/basedir/dir/file を返す

File.expand_path('dir/file', '/full/path/basedir')) # マニュアルを素直に読む場合、第2引数はフルパス
File.expand_path('dir/file', 'basedir'))
File.expand_path('dir/file', File.dirname(File.expand_path('file_in_basedir'))))
File.expand_path('dir/file', 'file_in_basedir'))

というか、このへんは実験終了と称して次のバージョンくらいでぽっと無くなりそうで嫌だ