class Loadable

Enumerate files with “extension” in directories called “path” anywhere in the Ruby LOAD_PATH

Public Class Methods

new(path = "", extension = '.rb') click to toggle source
# File lib/activefacts/loadable.rb, line 5
def initialize path = "", extension = '.rb'
  @path = path
  @extension = extension
end

Public Instance Methods

enumerate() click to toggle source
# File lib/activefacts/loadable.rb, line 10
def enumerate
  $LOAD_PATH.
  flat_map do |dir|
    dir_path = (dir+"/"+@path).gsub(%r{//+}, '/')
    pattern = dir_path+"/**/*"+@extension
    Dir[pattern].
    map do |p|
      p.
      sub(%r{#{Regexp.escape(dir_path)}/}, '').
      sub(%r{#{@extension}}, '')
    end
  end

end