Pathname

Pathnameというクラスはとても便利なファサード(Facade)らしいです。

疑問:上で紹介されていた http://redhanded.hobix.com/bits/howPowerfulPathnameIs.html というページがNot Foundでした。あれれ?
追記:Pathnameクラスの実行例です。確かに便利ですね。いちいちFile / IO / FileUtils のどれだっけなどと悩まずに済みます。
Pathname#readの存在と、extnameはPathnameではなくStringを返すことにちょっと感動しました。

require 'pathname'
p = Pathname.new("C:/tmp/rubyco.txt")
p p                 #=> #<Pathname:C:/tmp/rubyco.txt>
p.delete            # Alias for #unlink
p p.exist?          #=> false
p.open("w") do |f|
  f.puts "Hello!"
  f.puts "Rubyco!"
end
p p.exist?          #=> true
p p.directory?      #=> false
p p.read            #=> "Hello!\nRubyco!\n"
p.open do |f|
  p f.gets          #=> "Hello!\n"
  p f.gets          #=> "Rubyco!\n"
end
p p.dirname         #=> #<Pathname:C:/tmp>
p p.basename        #=> #<Pathname:rubyco.txt>
p p.extname         #=> ".txt"
p p.split           #=> [#<Pathname:C:/tmp>, #<Pathname:rubyco.txt>]
p p.split[0].to_s   #=> "C:/tmp"
p p.split[1].to_s   #=> "rubyco.txt"
p.unlink            # Same as #delete