Sha256: 35d17d07718c67f851f14a10fec00225d88bcf6cfe924dedfcad66b05f2d6463
Contents?: true
Size: 777 Bytes
Versions: 1
Compression:
Stored size: 777 Bytes
Contents
#------------------------------------------------------------------------------- # Hash data type alterations class Hash def search(search_key, options = {}) config = Coral::Config.ensure(options) value = nil recurse = config.get(:recurse, false) recurse_level = config.get(:recurse_level, -1) self.each do |key, data| if key == search_key value = data elsif data.is_a?(Hash) && recurse && (recurse_level == -1 || recurse_level > 0) recurse_level -= 1 unless recurse_level == -1 value = value.search(search_key, Coral::Config.new(config).set(:recurse_level, recurse_level) ) end break unless value.nil? end return value end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
coral_core-0.2.30 | lib/coral_core/mod/hash.rb |