module Orgy
Public Class Methods
libpath( *args ) { || ... }
click to toggle source
Returns the library path for the module. If any arguments are given, they will be joined to the end of the libray path using File.join
.
# File lib/orgy.rb, line 14 def self.libpath( *args ) rv = args.empty? ? LIBPATH : ::File.join(LIBPATH, args.flatten) if block_given? begin $LOAD_PATH.unshift LIBPATH rv = yield ensure $LOAD_PATH.shift end end return rv end
path( *args ) { || ... }
click to toggle source
Returns the lpath for the module. If any arguments are given, they will be joined to the end of the path using File.join
.
# File lib/orgy.rb, line 31 def self.path( *args ) rv = args.empty? ? PATH : ::File.join(PATH, args.flatten) if block_given? begin $LOAD_PATH.unshift PATH rv = yield ensure $LOAD_PATH.shift end end return rv end
require_all_libs_relative_to( fname, dir = nil )
click to toggle source
Utility method used to require all files ending in .rb that lie in the directory below this file that has the same name as the filename passed in. Optionally, a specific directory name can be passed in such that the filename does not have to be equivalent to the directory.
# File lib/orgy.rb, line 49 def self.require_all_libs_relative_to( fname, dir = nil ) dir ||= ::File.basename(fname, '.*') search_me = ::File.expand_path( ::File.join(::File.dirname(fname), dir, '**', '*.rb')) Dir.glob(search_me).sort.each {|rb| require rb} end