From: Rob Biedenharn Date: 2010-07-20T23:52:03+09:00 Subject: Re: File.basename On Jul 20, 2010, at 10:08 AM, James O'Brien wrote: > File.open('myfile') do |f| > puts f.basename; > end > > myfile exists on the filesystem but this code blows up with > > undefined method `basename' > > could someone explain why (given the docs > http://ruby-doc.org/core/classes/File.html > advertise the basename method) > > [ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]] > > > Thanks! You're looking at the docs for the class method File.basename, but you're calling basename on an instance of File referenced by f puts File.basename('myfile') or better: puts File.basename('/some/long/path/to/myfile') -Rob Rob Biedenharn Rob@AgileConsultingLLC.com http://AgileConsultingLLC.com/ rab@GaslightSoftware.com http://GaslightSoftware.com/