class GitRecent::BranchChooser
Attributes
choices[R]
input_stream[R]
output_stream[R]
Public Class Methods
new(choices, input_stream=$stdin, output_stream=$stdout)
click to toggle source
# File lib/git_recent/branch_chooser.rb, line 9 def initialize(choices, input_stream=$stdin, output_stream=$stdout) @choices = choices @input_stream = input_stream @output_stream = output_stream end
Public Instance Methods
request_choice()
click to toggle source
# File lib/git_recent/branch_chooser.rb, line 15 def request_choice display_choices output_stream.print 'Please select a branch: ' input = input_stream.gets.strip choice_index = input.to_i - 1 return choices.fetch(choice_index) if valid_choice?(choice_index) nil end
Private Instance Methods
display_choices()
click to toggle source
# File lib/git_recent/branch_chooser.rb, line 28 def display_choices choices.each_with_index do |branch, i| output_stream.puts "[#{i+1}] #{branch}" end end
valid_choice?(choice_index)
click to toggle source
# File lib/git_recent/branch_chooser.rb, line 34 def valid_choice?(choice_index) (0..choices.length-1).cover? choice_index end