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 **/*]