Class: PivotalShell::Commands::Finish

Inherits:
PivotalShell::Command show all
Defined in:
lib/pivotal_shell/commands/finish.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Finish

Returns a new instance of Finish.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/pivotal_shell/commands/finish.rb', line 6

def initialize(options)
  opts = OptionParser.new do |opts|
    opts.banner = "Finish a Pivotal story. The story must be started.\nUsage: pivotal finish STORY_ID [options]\n\n"
    
    opts.on_tail('--help', 'Show this help') do
      puts opts
      exit
    end
  end
  opts.parse!(options)
  if options.empty? || options.length>1
    puts opts
    exit
  else
    @story_id = options.first
  end
end

Instance Method Details

#executeObject



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pivotal_shell/commands/finish.rb', line 24

def execute
  @story = PivotalShell::Configuration.project.stories.find(@story_id)
  if @story.nil?
    puts 'Story not found'
  elsif @story.current_state!='started'
    puts 'Story is not in a started state: '+@story.name
  else
    @story.update(:current_state => 'started')
    PivotalShell::Configuration.cache.refresh
  end
end