Class: Toolshed::Commands::UpdatePivotalTrackerStoryStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/toolshed/commands/update_pivotal_tracker_story_status.rb

Constant Summary collapse

STORY_STATUS_DEFAULT =
'finished'

Instance Method Summary collapse

Instance Method Details

#execute(args, options = {}) ⇒ Object



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
35
36
# File 'lib/toolshed/commands/update_pivotal_tracker_story_status.rb', line 6

def execute(args, options = {})
  print "Project ID (Default: #{Toolshed::Client.default_pivotal_tracker_project_id})? "
  project_id = $stdin.gets.chomp.strip
  if (project_id == '')
    project_id = Toolshed::Client.default_pivotal_tracker_project_id
  end

  pivotal_tracker = Toolshed::PivotalTracker.new({ project_id: project_id})
  github = Toolshed::Github.new

  default_story_id = Toolshed::PivotalTracker::story_id_from_branch_name(github.branch_name)
  print "Story ID (Default: #{default_story_id})? "
  story_id = $stdin.gets.chomp.strip
  if (story_id == '')
    story_id = default_story_id
  end

  print "Status (Default: #{Toolshed::PivotalTracker::STORY_STATUS_DEFAULT})? "
  story_status = $stdin.gets.chomp.strip
  if (story_status == '')
    story_status = Toolshed::PivotalTracker::STORY_STATUS_DEFAULT
  end

  begin
    result = pivotal_tracker.update_story_state(story_id, story_status)
    puts "Story Status Updated At: #{result["created_at"]}"
  rescue => e
    puts e.message
    exit
  end
end