Module: InheritableInstance::SafeDeepDup

Extended by:
SafeDeepDup
Included in:
SafeDeepDup
Defined in:
lib/inheritable_instance/safe_deep_dup.rb

Constant Summary collapse

SKIP =
[ NilClass, FalseClass, TrueClass,
Symbol, Module, Method, UnboundMethod ].freeze

Instance Method Summary collapse

Instance Method Details

#duplicate(obj) ⇒ Object



10
11
12
13
14
15
# File 'lib/inheritable_instance/safe_deep_dup.rb', line 10

def duplicate(obj)
  return duplicate_hash(obj)  if obj.is_a?(Hash)
  return duplicate_array(obj) if obj.is_a?(Array)
  return obj.dup if should_duplicate?(obj)
  obj
end