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