Sha256: 079061c9529ef7513e4eeaa26f2d2298c7f4e73a7dcac07c2dc31be59b09262b
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
# $Id: utils.rb 96 2008-02-10 18:18:10Z tim_pease $ class Hash # call-seq: # getopt( key, default = nil, :as => class ) # # Returns the value associated with the _key_. If the has does not contain # the _key_, then the _default_ value is returned. # # Optionally, the value can be converted into to an instance of the given # _class_. The supported classes are: # # Integer # Float # Array # String # Symbol # # If the value is +nil+, then no converstion will be performed. # def getopt( *args ) opts = args.last.instance_of?(Hash) ? args.pop : {} key, default = args val = if has_key?(key); self[key] elsif has_key?(key.to_s); self[key.to_s] elsif has_key?(key.to_s.intern); self[key.to_s.intern] else default end return if val.nil? return val unless opts.has_key?(:as) case opts[:as].name.intern when :Integer; Integer(val) when :Float; Float(val) when :Array; Array(val) when :String; String(val) when :Symbol; String(val).intern else val end end end # EOF
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logging-0.7.0 | lib/logging/utils.rb |
logging-0.7.1 | lib/logging/utils.rb |