Class: PivotalAngel::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/pivotal_angel/project.rb

Class Method Summary collapse

Class Method Details

.deep_clone(source_project, name) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pivotal_angel/project.rb', line 4

def deep_clone(source_project, name)
  new_project = source_project.clone
  new_project.name = name
  new_project.create

  new_project = PivotalTracker::Project.all.detect { |document| document.name == new_project.name }

  puts "Copying stories from #{source_project.name} to #{new_project.name}"
  source_project.stories.all.each do |story|
    new_story = story.clone
    new_story.project_id = new_project.id
    a_new_story = new_story.create

    story.tasks.all.each do |task|
      new_task = task.clone
      new_task.story_id = a_new_story.id
      new_task.project_id = new_project.id
      new_task.create
    end

    story.notes.all.each do |note|
      new_note = note.clone
      new_note.story_id = a_new_story.id
      new_note.project_id = new_project.id
      new_note.create
    end
    putc "."
  end
  puts "Done"
  new_project
end