Class: JPLMissions::CLI
- Inherits:
-
Object
- Object
- JPLMissions::CLI
- Defined in:
- lib/jpl_missions/cli.rb
Instance Method Summary collapse
- #call ⇒ Object
- #display_mission_details(input) ⇒ Object
- #exit_cli ⇒ Object
- #list_missions(option) ⇒ Object
- #list_missions_from_url(url) ⇒ Object
- #list_nav ⇒ Object
- #main_menu ⇒ Object
- #start ⇒ Object
Instance Method Details
#call ⇒ Object
3 4 5 6 |
# File 'lib/jpl_missions/cli.rb', line 3 def call puts "Welcome to NASA JPL Missions!" self.start end |
#display_mission_details(input) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/jpl_missions/cli.rb', line 83 def display_mission_details(input) mission = JPLMissions::Mission.find_from_user_input(input) puts "Mission Title: #{mission.title}" puts "#{mission.launch_date}" puts "About: #{mission.description}" end |
#exit_cli ⇒ Object
35 36 37 38 39 |
# File 'lib/jpl_missions/cli.rb', line 35 def exit_cli puts "For more information on NASA JPL and their missions," puts "visit https://www.jpl.nasa.gov" puts "Goodbye!" end |
#list_missions(option) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/jpl_missions/cli.rb', line 41 def list_missions(option) case option when '1' list_missions_from_url('https://www.jpl.nasa.gov/missions/?search=&type=current&missions_target=&mission_type=&launch_date=#submit') list_nav when '2' list_missions_from_url('https://www.jpl.nasa.gov/missions/?search=&type=past&missions_target=&mission_type=&launch_date=#submit') list_nav when '3' list_missions_from_url('https://www.jpl.nasa.gov/missions/?search=&type=future&missions_target=&mission_type=&launch_date=#submit') list_nav when '4' list_missions_from_url('https://www.jpl.nasa.gov/missions/?type=proposed') list_nav end end |
#list_missions_from_url(url) ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/jpl_missions/cli.rb', line 58 def list_missions_from_url(url) JPLMissions::Mission.clear_all missions_array = JPLMissions::Scraper.scrape_missions_from_url(url) JPLMissions::Mission.create_missions_from_array(missions_array) JPLMissions::Mission.all.each.with_index do |mission, index| puts "#{index + 1}: #{mission.title}" end end |
#list_nav ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/jpl_missions/cli.rb', line 67 def list_nav puts "" puts ">> To learn more, select a mission." puts ">> To return to the main menu, enter 'exit.'" puts "" input = gets.chomp if input.between?('1', JPLMissions::Mission.all.size.to_s) display_mission_details(input) list_nav elsif input == "exit" start else puts "Please select from the available options" list_nav end end |
#main_menu ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/jpl_missions/cli.rb', line 24 def puts (" What kind of missions would you like to browse?\n 1. Current Missions\n 2. Past Missions\n 3. Future Missions\n 4. Proposed Missions\n Enter 'exit' to quit\n DOC\nend\n") |
#start ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/jpl_missions/cli.rb', line 8 def start input = gets.chomp case input when /1|2|3|4/ #print list of selected Missions self.list_missions(input) when 'exit' exit_cli else puts "I'm sorry, that's not an option." puts "Please choose from the available options." self.start end end |