lib/juicer.rb in juicer-0.2.6 vs lib/juicer.rb in juicer-1.0.0
- old
+ new
@@ -1,11 +1,11 @@
require "logger"
module Juicer
# :stopdoc:
- VERSION = '0.2.6'
+ VERSION = '1.0.0'
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
LOGGER = Logger.new(STDOUT)
@@home = nil
# :startdoc:
@@ -49,22 +49,21 @@
def self.path( *args )
args.empty? ? PATH : ::File.join(PATH, args.flatten)
end
# 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.
- #
- 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'))
+ # directory below this file.
+ def self.require_all_libs
+ dir = File.dirname(File.expand_path(__FILE__))
+ glob = File.join(dir, "juicer", '**', '*.rb')
- Dir.glob(search_me).sort.each { |rb| require rb }
+ # Unexpand paths (avoids requiring the same file twice)
+ paths = Dir.glob(glob).map { |path| path.sub("#{dir}/", '').sub(/\.rb$/, "") }
+ paths.each { |rb| require rb }
end
end
-Juicer.require_all_libs_relative_to(__FILE__)
+Juicer.require_all_libs
class FileNotFoundError < Exception
end