Method: ActiveRecordSurvey::NodeMap#recursive_clone
- Defined in:
- lib/active_record_survey/node_map.rb
#recursive_clone ⇒ Object
Recursively creates a copy of this entire node_map
11 12 13 14 15 16 17 18 |
# File 'lib/active_record_survey/node_map.rb', line 11 def recursive_clone node_map = self.survey.node_maps.build(:survey => self.survey, :node => self.node) self.survey.node_maps.select { |i| i.parent == self && !i.marked_for_destruction? }.each { |child_node| child_node.survey = self.survey # required due to voodoo - we want to use the same survey with the same object_id node_map.children << child_node.recursive_clone } node_map end |