From: Vincent Ds Date: 2009-01-03T08:37:10+09:00 Subject: require wackyness Hi, First time poster here ... picking up Ruby again after neglecting it for > 2 years after some rails work. But, instead of Rails, this time I want to properly understand Ruby. Sadly though progress is slow ... mainly due to the following problem: I have a root directory containing 2 folders (lib & spec). lib contains a couple of sub-folders and I want all of the folders known to Ruby so that it knows where to look when I require the files. But somehow this isn't working. Probably making a beginner mistake ... Here is what I have: lib/classes/movie.rb: class Movie #... end spec/spec_helper.rb: paths = %w(classes, logic, logic/scrapers) paths.each do |p| $LOAD_PATH << File.expand_path("#{File.dirname(__FILE__)}/../lib/#{p}") end puts $LOAD_PATH spec/imdb_movie_scraper_spec.rb: $LOAD_PATH << File.expand_path(File.dirname(__FILE__)) require 'spec_helper' require 'imdb_movie_scraper' require 'movie' #... Here is what I do: in the root directory (directory containing lib and spec): spec spec/imdb_movie_scraper_spec.rb -c and it gives me the following annoying error: /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- movie (LoadError) from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' from ./spec/imdb_movie_scraper_spec.rb:6 (yes, this is include 'movie' I know that spec_helper launched since it outputs the $LOAD_PATH just above the error. HOW is this possible? The file movie.rb is obviously defined in /Users/spobo/Code/movie-crawler/lib/classes and this is included in $LOAD_PATH. What am I missing here? Debugging and figuring out this stuff any longer and my shiny new laptop will go from 60 to 0 in 0.01 second flat against the wall. *aaaaaaaar* it's frustrating!! -- Posted via http://www.ruby-forum.com/.