Method: Sensu::Utilities#deep_dup
- Defined in:
- lib/sensu/utilities.rb
#deep_dup(obj) ⇒ obj
Creates a deep dup of basic ruby objects with support for walking hashes and arrays.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/sensu/utilities.rb', line 60 def deep_dup(obj) if obj.class == Hash new_obj = obj.dup new_obj.each do |key, value| new_obj[deep_dup(key)] = deep_dup(value) end new_obj elsif obj.class == Array arr = [] obj.each do |item| arr << deep_dup(item) end arr elsif obj.class == String obj.dup else obj end end |