class Hash
Public Instance Methods
&(keys)
click to toggle source
# File lib/invoca/utils/hash.rb, line 37 def &(keys) res = {} keys.each { |k| res[k] = self[k] if has_key?(k) } res end
-(keys)
click to toggle source
rubocop:disable Naming/BinaryOperatorParameterName
# File lib/invoca/utils/hash.rb, line 31 def -(keys) res = {} each_pair { |k, v| res[k] = v unless k.in?(keys) } res end
map_hash() { |v| ... }
click to toggle source
# File lib/invoca/utils/hash.rb, line 11 def map_hash(&block) res = {} each { |k, v| res[k] = block.arity == 1 ? yield(v) : yield(k, v) } res end
partition_hash(keys = nil) { |k, v| ... }
click to toggle source
# File lib/invoca/utils/hash.rb, line 17 def partition_hash(keys = nil) yes = {} no = {} 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
select_hash() { |v| ... }
click to toggle source
# File lib/invoca/utils/hash.rb, line 5 def select_hash(&block) res = {} each { |k, v| res[k] = v if (block.arity == 1 ? yield(v) : yield(k, v)) } # rubocop:disable Style/ParenthesesAroundCondition res end