# File lib/hobo_support/hash.rb, line 89 def &(keys) res = HashWithIndifferentAccess.new keys.each do |k| k = k.to_s if k.is_a?(Symbol) res[k] = self[k] if has_key?(k) end res end
# File lib/hobo_support/hash.rb, line 82 def -(keys) res = HashWithIndifferentAccess.new keys = keys.map {|k| k.is_a?(Symbol) ? k.to_s : k } each_pair { |k, v| res[k] = v unless k.in?(keys) } res end
# File lib/hobo_support/hash.rb, line 98 def partition_hash(keys=nil) keys = keys._?.map {|k| k.is_a?(Symbol) ? k.to_s : k } yes = HashWithIndifferentAccess.new no = HashWithIndifferentAccess.new each do |k,v| if block_given? ? yield(k,v) : keys.include?(k) yes[k] = v else no[k] = v end end [yes, no] end