Sha256: a43ec133471fbe3f7fda011dc94f90dd42556f2ed61274034b239405f376f7c2
Contents?: true
Size: 890 Bytes
Versions: 1
Compression:
Stored size: 890 Bytes
Contents
module CoreExt module Hash def pick(*picks) picks = picks.flatten mapped_picks = {} picks.each do |pick| if pick.is_a?(Hash) mapped_picks.merge!(pick) else mapped_picks[pick] = pick end end mapped_picks.inject({}) do |result, (key, new_key)| result[new_key] = self[key] if self.key?(key) result end end def pick!(*picks) picks = picks.flatten keys.each {|key| self.delete(key) unless picks.member?(key) } end def except(*picks) result = self.dup result.except!(*picks) result end def except!(*picks) picks = picks.flatten keys.each {|key| self.delete(key) if picks.member?(key) } end end end Hash.send :include, CoreExt::Hash
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
houston-core-0.5.0.beta1 | lib/core_ext/hash.rb |