Sha256: 0bd8c1f75dfb97ee0475f35b14a0aacf3038af351f9d4e0a795431f8001649f4
Contents?: true
Size: 838 Bytes
Versions: 1
Compression:
Stored size: 838 Bytes
Contents
class Hash #def try_get(*args) #args.each do |arg| #return nil unless options.is_a? ::Hash || options.has_key?(arg) #options = options[arg] #end #options #end #case_sym 表示是否区分string和symbol def search(key, case_sym = false) h = self.clone h.symbolize_keys! and key = key.to_sym if case_sym h.nested_find(key) end protected def nested_find(key) h = self return h[key] if h.has_key?(key) value = nil keys.each do |k| tmp = h[k] if tmp.is_a? Array tmp.flatten! tmp.each do |item| return value if item.respond_to?(:nested_find) && (value = item.nested_find(key)).present? end end return value if tmp.respond_to?(:nested_find) && (value = tmp.nested_find(key)).present? end value end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
taobao_api-0.2.1 | lib/taobao_api/util/hash.rb |