I have a ruby script that is failing due to my environment, I think it is demonstrated by this strange behaviour in irb ( I am also using rvm but don’t think that is the problem)
>> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]
>> irb
>> FileUtils.mkdir_p('tmp')
NameError: uninitialized constant FileUtils
from (irb):1
>> help
=> nil
>> FileUtils.mkdir_p('tmp')
=> "tmp"
The FileUtils command initially fails but then after typing Help (which also fails) it seems to work.
I have tried require ‘rubygems’ and require ‘FileUtils’ – which does fix the problem – but would like to understand whats happening here.
I didn’t know there was a “help” command, but apparently it has dependency on FileUtils, probably to load help files. “help” is loading its requirements into the IRB session.
It loads the classes in
after - before. Where is FileUtils you say? I think its a module that is part ofDir, but I am not 100% on that.