Is there a shorter way to require a file in the same directory in ruby?

Since ruby 1.9 you can use require_relative.

Check the latest doc for require_relative or another version of the Core API.


Just require filename.

Yes, it will import it twice if you specify it as filename and ./filename, so don't do that. You're not specifying the .rb, so don't specify the path. I usually put the bulk of my application logic into a file in lib, and then have a script in bin that looks something like this:

#!/usr/bin/env ruby

$: << File.join(File.dirname(__FILE__), "/../lib")
require 'app.rb'
App.new.run(ARGV)

Another advantage is that I find it easier to do unit testing if the loading the application logic doesn't automatically start executing it.