Class: Hash

Inherits:
Object show all
Defined in:
lib/zleb/plugins/params_check.rb

Instance Method Summary collapse

Instance Method Details

#deep_merge(second) ⇒ Object



24
25
26
27
# File 'lib/zleb/plugins/params_check.rb', line 24

def deep_merge(second)
    merger = proc { |_, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : Array === v1 && Array === v2 ? v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : v2 }
    merge(second.to_h, &merger)
end

#reject_items(*keys) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/zleb/plugins/params_check.rb', line 17

def reject_items(*keys)
    result = self.clone
    keys.each do |k|
        result.delete(k)
    end
    result
end

#select_items(*keys) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/zleb/plugins/params_check.rb', line 7

def select_items(*keys)
    result = {}
    keys.each do |k|
        if has_key?(k)
            result[k] = self[k]
        end
    end
    result
end