class OptionsDB

Public Class Methods

new(*files) click to toggle source
# File lib/cless/optionsdb.rb, line 2
def initialize(*files)
  @names = {}
  @regexps = {}
  files.each { |f| parse_file(f) }
end

Public Instance Methods

[](name) click to toggle source
# File lib/cless/optionsdb.rb, line 28
def [](name); name.nil? ? nil : @names[name]; end
match(fname) click to toggle source
# File lib/cless/optionsdb.rb, line 21
def match(fname)
  @regexps.each do |regexp, v|
    return v if fname =~ regexp
  end
  nil
end
parse_file(name) click to toggle source
# File lib/cless/optionsdb.rb, line 8
def parse_file(name)
  File.open(File.expand_path(name)) do |fd|
    fd.each_line do |l|
      a = l.split_with_quotes
      n = a.shift
      r = a.shift
      @names[n] = a
      @regexps[Regexp.new(r)] = a
    end
  end
  true
end