class DigitalNomadJobs::CLI

Constants

PATH

Public Instance Methods

add_descriptions_to_jobs() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 197
def add_descriptions_to_jobs
  DigitalNomadJobs::Job.all.each do |job|
  description_hash = DigitalNomadJobs::Scraper.scrape_descriptions(PATH + job.job_url)
  job.add_job_description(description_hash)
  end 
end
call() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 5
def call 
  welcome 
  main_menu
end
display_companies() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 206
def display_companies
  DigitalNomadJobs::Company.list_companies
  select_company 
end
display_jobs() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 212
def display_jobs
  DigitalNomadJobs::Job.list_all_jobs
  select_job 
end
error() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 150
def error
  puts 'Whoops! Please Enter A Valid Option.'.magenta 
end
list_menu() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 36
def list_menu
  puts "===========     LIST MENU    ===================".blue 
  puts ""
  puts "Enter '1' For A List of The Most Recent Job Postings"
  puts "Enter '2' For A List of The Companies Hiring"
  puts "Enter '0' To Exit"
  puts "Enter 'Main' To Go Back To The Main Menu"
  puts "================================================".blue 
  user_input = gets.strip.to_s

  case user_input 
  when '1'
    display_jobs
  when '2'
    display_companies 
  when 'Main', 'main'
    main_menu
  when '0', 'exit'
    puts "Thanks for Visiting!"
    exit 
  else 
    error
    list_menu
  end 
end
main_menu() click to toggle source
make_all_the_jobs() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 183
def make_all_the_jobs
  DigitalNomadJobs::Job.reset
  DigitalNomadJobs::Company.reset
  job_array = DigitalNomadJobs::Scraper.scrape_jobs(PATH)
  DigitalNomadJobs::Job.create_from_collection(job_array)
  puts ""
  puts "                      🌎 " 
  puts "------------------------------------------------".blue 
  puts "         NABBING THE NEWEST REMOTE JOBS         ".white.on_blue 
  add_descriptions_to_jobs
  list_menu 
end
make_design_jobs() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 169
def make_design_jobs
  DigitalNomadJobs::Job.reset
  DigitalNomadJobs::Company.reset
  job_array = DigitalNomadJobs::Scraper.scrape_jobs(PATH + '/remote-design-jobs')
  DigitalNomadJobs::Job.create_from_collection(job_array)
  puts ""
  puts "                     🎨 " 
  puts "------------------------------------------------".blue 
  puts "           LOADING WEB DESIGN JOBS              ".white.on_blue 
  add_descriptions_to_jobs
  list_menu
end
make_dev_jobs() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 155
def make_dev_jobs
  DigitalNomadJobs::Job.reset
  DigitalNomadJobs::Company.reset
  job_array = DigitalNomadJobs::Scraper.scrape_jobs(PATH + '/remote-dev-jobs')
  DigitalNomadJobs::Job.create_from_collection(job_array)
  puts ""
  puts '                      🖥️                        '
  puts "------------------------------------------------".blue 
  puts "           NABBING WEB DEVELOPER JOBS           ".white.on_blue 
  add_descriptions_to_jobs
  list_menu
end
navigation() click to toggle source
select_company() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 110
def select_company
  puts ""
  puts "Enter The Number of A Company To See It's Recent Job Posts" 
  cn = gets.strip.to_i    
  if valid_company?(cn) 
    comp = DigitalNomadJobs::Company.all[cn-1]
    comp.print_company_jobs
    navigation 
  else 
    error
    select_company 
  end 
end
select_job() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 135
def select_job
  puts ""
  puts "Enter The Number of a Job Post For a Detailed Description"
  jp = gets.strip.to_i

  if valid_job?(jp)
    job = DigitalNomadJobs::Job.all[jp - 1]
    job.print_job_description
    navigation 
  else 
    error 
    select_job
  end 
end
select_job_maker() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 91
def select_job_maker
  input = gets.strip.to_s
  case input
  when '1'
    make_dev_jobs
  when '2'
    make_design_jobs
  when '3'
    make_all_the_jobs
  when '0','exit'
    puts "Bye!".blue 
    exit 
  else 
    puts "Whoops! Please enter a valid option.".magenta 
    main_menu
  end
end
valid_company?(input) click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 125
def valid_company?(input)
  input.between?(1, DigitalNomadJobs::Company.all.size)
end
valid_job?(input) click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 130
def valid_job?(input)
  input.between?(1, DigitalNomadJobs::Job.all.size)
end
welcome() click to toggle source
# File lib/digital_nomad_jobs/cli.rb, line 12
def welcome
  puts "================================================".blue 
  puts ")       Welcome to DIGITAL NOMAD JOBS!         (".blue  
  puts "================================================".blue
  puts "                 LET'S EXPLORE                  ".white.on_blue
end