module JobPrompter

Public Instance Methods

job_id(allow_none=false) click to toggle source
# File lib/pvdgm-bs-client/prompters/job_prompter.rb, line 3
def job_id(allow_none=false)
  return options[:job_id] if options[:job_id]
  return options[:job_id] = ENV['JOB_ID'] if ENV['JOB_ID']
  return options[:job_Id] = prompt_for_job_id(allow_none)
end

Private Instance Methods

prompt_for_job_id(allow_none) click to toggle source
# File lib/pvdgm-bs-client/prompters/job_prompter.rb, line 11
def prompt_for_job_id(allow_none)
  puts
  command = prompter.choose do | menu |
    menu.prompt = "Which tube state do you want to peek into? "
    menu.choice("Ready") { 'ready' }
    menu.choice("Delayed") { 'delayed' }
    menu.choice("Buried") { 'buried' }
  end
  
  result = get("beanstalk/tubes/#{Base64.urlsafe_encode64(tube_name)}/#{command}")
  return -1 if result.has_key?('error')

  # Build a menu of the job
  puts
  return prompter.choose do | menu |
    menu.prompt = "Select the job: "
    menu.choice("No Selection") { -1 } if allow_none
    menu.choice("Job ID: #{result.keys.first}") { result.keys.first }
  end
end