# File lib/slave.rb, line 87 def getopts(opts) raise ArgumentError, opts.class unless opts.respond_to?('has_key?') and opts.respond_to?('[]') lambda do |key, *defval| defval = defval.shift keys = [key, key.to_s, key.to_s.intern] key = keys.detect{|k| opts.has_key? k } and break opts[key] defval end end