Method: Hanuman::GraphBuilder#clone
- Defined in:
- lib/hanuman/graph.rb
#clone ⇒ Object
73 74 75 76 77 78 |
# File 'lib/hanuman/graph.rb', line 73 def clone cloned_attrs = Hash[ serialize.select{ |key, val| key != :stages }.map{ |key, val| dup_key = key.dup rescue key ; dup_val = val.dup rescue val ; [ dup_key, dup_val ] } ] cloned_links = links.map{ |link| link.dup } cloned_stages = Hash[ stages.map{ |stage| stage.clone } ] self.class.receive(cloned_attrs.merge(links: cloned_links).merge(stages: cloned_stages).merge(for_class: for_class)) end |