Sha256: a5cab5b4e9b257c36725f39b39397d6a3eb1ffb86411dd2d99cd569cd541f2a0

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

module PivotalAngel
  class Project
    class << self
      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
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pivotal_angel-0.0.2 lib/pivotal_angel/project.rb
pivotal_angel-0.0.1 lib/pivotal_angel/project.rb