module RailsStuff::RequireNested

Public Class Methods

setup() click to toggle source

Make require_nested available in module.

# File lib/rails_stuff/require_nested.rb, line 7
def setup
  Module.include(self)
end

Public Instance Methods

require_nested(dir = 0) click to toggle source

Requires nested modules with `require_dependency`. Pass custom directory to require its content. By default uses caller's filename with stripped `.rb` extension from.

# File lib/rails_stuff/require_nested.rb, line 17
def require_nested(dir = 0)
  dir = caller_locations(dir + 1, 1)[0].path.sub(/\.rb$/, '') if dir.is_a?(Integer)
  Dir["#{dir}/*.rb"].each { |file| require_dependency file }
end