lib/my_scripts.rb in my_scripts-0.0.19 vs lib/my_scripts.rb in my_scripts-0.0.22
- old
+ new
@@ -1,12 +1,24 @@
# Top level namespace
module MyScripts
+ require 'pathname'
- # Used to auto-require all the source files located in lib/my_scripts
- def self.require_libs( filename, filemask )
- file = ::File.expand_path(::File.join(::File.dirname(filename), filemask.gsub(/(?<!.rb)$/,'.rb')))
- require file if File.exist?(file) && !File.directory?(file)
- Dir.glob(file).sort.each {|rb| require rb}
+ VERSION_FILE = Pathname.new(__FILE__).dirname + '../VERSION' # :nodoc:
+ VERSION = VERSION_FILE.exist? ? VERSION_FILE.read.strip : nil
+
+ # Requires ruby source file(s). Accepts either single filename/glob or Array of filenames/globs.
+ # Accepts following options:
+ # :*file*:: Lib(s) required relative to this file - defaults to __FILE__
+ # :*dir*:: Required lib(s) located under this dir name - defaults to gem name
+ #
+ def self.require_libs( libs, opts={} )
+ file = Pathname.new(opts[:file] || __FILE__)
+ [libs].flatten.each do |lib|
+ name = file.dirname + (opts[:dir] || file.basename('.*')) + lib.gsub(/(?<!.rb)$/, '.rb')
+ Pathname.glob(name.to_s).sort.each {|rb| require rb}
+ end
end
end # module MyScripts
-%W[my_scripts/script my_scripts/cli **/*].each {|rb| MyScripts.require_libs(__FILE__, rb)}
+# Require all ruby source files located under directory lib/my_scripts
+# If you need files in specific order, you should specify it here before the glob
+MyScripts.require_libs %W[script cli **/*]