Class: Hash
Instance Method Summary collapse
- #reverse_merge!(other_hash) ⇒ Object
- #slice(*args) ⇒ Object
- #slice!(*args) ⇒ Object
- #stringify_keys! ⇒ Object
Instance Method Details
#reverse_merge!(other_hash) ⇒ Object
198 199 200 201 |
# File 'lib/rhc/core_ext.rb', line 198 def reverse_merge!(other_hash) # right wins if there is no left merge!( other_hash ){|key,left,right| left } end |
#slice(*args) ⇒ Object
192 193 194 195 196 197 |
# File 'lib/rhc/core_ext.rb', line 192 def slice(*args) args.inject({}) do |h, k| h[k] = self[k] if has_key?(k) h end end |
#slice!(*args) ⇒ Object
185 186 187 188 189 190 191 |
# File 'lib/rhc/core_ext.rb', line 185 def slice!(*args) s = [] args.inject([]) do |a, k| s << [k, delete(k)] if has_key?(k) end s end |
#stringify_keys! ⇒ Object
173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/rhc/core_ext.rb', line 173 def stringify_keys! keys.each do |key| v = delete(key) if v.is_a? Hash v.stringify_keys! elsif v.is_a? Array v.each{ |value| value.stringify_keys! if value.is_a? Hash } end self[(key.to_s rescue key) || key] = v end self end |