I\'m a little confused about why my project can\'t load the files it needs, it\'s a really simple project tree:
processor/
bin/
lib/
processor.rb
Use Ruby's require_relative
in this case:
require_relative "processor/mapper"
Ruby's $LOAD_PATH
will not include your lib
directory by default (even though that's where the file you're running is located).
You can either tell the ruby
interpreter to include it:
ruby -Ilib lib/processor.rb
Or you can add the lib
folder to the load path:
$LOAD_PATH.unshift(File.dirname(__FILE__))
require 'processor/mapper'
...
Ruby 1.9 no longer includes "." in the load path. Do require "#{File.dirname(__FILE__)}/processor/mapper"
or use require_relative
.
You can always determine the current load path by inspecting $LOAD_PATH
(or $:
)
(edited: $LOAD_PATH not $:LOAD_PATH)