Method: Object#full_clone

Defined in:
lib/full_clone/object.rb

#full_clone(progress = {}) ⇒ Object

The common part of the full_clone method.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/full_clone/object.rb', line 12

def full_clone(progress={})
  progress[object_id] = result = clone
  exclude = full_clone_exclude

  if exclude.empty?
    result.full_clone_no_exclusions(progress)
  else
    result.full_clone_with_exclusions(progress, exclude)
  end

  result
end