Skip to content

joshbuddy/dirge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dirge

DEPRECATED

This library is no longer maintained. Everything it does and so much more is now provided by github.com/joshbuddy/callsite. To get back Dirge’s specific functionality, you can do the following

gem install 'callsite'

And in ruby

require 'dirge'

Now everything below will work as-is!

Usage

require 'dirge'
require_relative '../to_my_file'

Or, the much simpler notation

require ~'../to_my_file'

annnd.

class MyAwesomeClass
  autoload_relative :MyConstant, 'my_awesome_class/my_constant'
end

Again, this could be

class MyAwesomeClass
  autoload :MyConstant, ~'my_awesome_class/my_constant'
end

All of this is powered by the new function:

__DIR__

which takes a single line off of Kernel.caller and give you back the relative path. Calling __DIR__(caller.first) for instance, will give you the relative path to whoever called you.

There is also a more explicit, and probably, more readable version.

File.relative(path)

This will convert your path into a relative directory from wherever you are.

require_relative 'to/my/file'

and

require File.relative('to/my/file')

should be identical.

About

Relative require, relative autoload and __DIR__

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages