module Finder::Find::Site

System location finder methods.

Constants

DATA_PATH

System’s data path.

Public Instance Methods

data_path(match, options={}) click to toggle source

Search data path.

# File lib/finder/site.rb, line 77
def data_path(match, options={})
  return [] if options[:from]

  Dir.glob(File.join(DATA_PATH, match)).uniq
end
load_path(match, options={}) click to toggle source

Search load path for matching patterns.

@param [String] match

The file glob to match.

@param [Hash] options

Search options.

@option options [true,false] :absolute

Return absolute paths instead of relative to load path.

@return [Array<String>] List of paths.

# File lib/finder/site.rb, line 55
def load_path(match, options={})
  return [] if options[:from]

  options = valid_load_options(options)

  found = []
  $LOAD_PATH.uniq.each do |path|
    list = Dir.glob(File.join(File.expand_path(path), match))
    list = list.map{ |d| d.chomp('/') }
    # return absolute path unless relative flag
    if options[:relative]
      # the extra '' in File.join adds a '/' to the end of the path
      list = list.map{ |f| f.sub(File.join(path, ''), '') }
    end
    found.concat(list)
  end
  found
end
path(match, options={}) click to toggle source

Search load path for matching patterns.

@param [String] match

The file glob to match.

@param [Hash] options

Search options.

@return [Array<String>] List of paths.

# File lib/finder/site.rb, line 28
def path(match, options={})
  return [] if options[:from]

  found = []
  $LOAD_PATH.uniq.map do |path|
    list = Dir.glob(File.join(File.expand_path(path), match))
    list = list.map{ |d| d.chomp('/') }
    found.concat(list)
  end
  found.concat(data_path(match, options))
  found
end