class CommandLineInterface
Constants
- BASEPATH
Public Instance Methods
all_superheroes_names()
click to toggle source
this method is called when program evokes individual superhero
# File lib/marvel_best_superheroes/cli.rb, line 98 def all_superheroes_names AllSuperheroes.all.map { |e| "#{e.name}".split(". ")[1]} end
all_superheroes_sites()
click to toggle source
collect each hero website from AllSuperheroes
# File lib/marvel_best_superheroes/cli.rb, line 93 def all_superheroes_sites AllSuperheroes.all.map { |e| "#{BASEPATH}#{e.url}"} end
create_superhero(site)
click to toggle source
create a superhero base on user input
# File lib/marvel_best_superheroes/cli.rb, line 103 def create_superhero(site) Superheroes.get_superhero_infos(site) end
display()
click to toggle source
# File lib/marvel_best_superheroes/cli.rb, line 11 def display AllSuperheroes.create_all_superheroes puts "\nHere shows TOP 100 MARVEL SUPERHEROES of all time: ".colorize(:blue) puts "....................................................\n" puts "\nWhat BADGE you are interested in:\n".colorize(:blue) puts "1. OP - TOP 10 MOST BADASS SUPERHEROES".colorize(:blue) puts "2. LEGENDARY - SUPERHEROES RANKED 11-25".colorize(:blue) puts "3. SUPER-DUPER - SUPERHEROES RANKED 26-50".colorize(:blue) puts "4. INCREDIBLE - SUPERHEROES RANKED 51-100".colorize(:blue) get_badge get_superhero_site display_superhero get_other_input end
display_superhero()
click to toggle source
Print out each Superhero's informations in desired format
# File lib/marvel_best_superheroes/cli.rb, line 108 def display_superhero Superheroes.all.each do |hero| puts "\n#{hero.name.upcase}".colorize(:blue) puts "" puts " <> Biography:".colorize(:blue) puts "" puts "#{hero.biography}" puts "" puts " <> General Information:".colorize(:blue) puts "\n - Super name:".colorize(:blue) + " #{hero.supername}" puts "\n - Real name:".colorize(:blue) + " #{hero.realname}" puts "\n - Aliases:".colorize(:blue) + " #{hero.aliases}" puts "\n - Gender:".colorize(:blue) + " #{hero.gender}" puts "\n - Character Type:".colorize(:blue) + " #{hero.charactertype}" puts "\n - Birthday:".colorize(:blue) + " #{hero.birthday}" puts "\n - Powers:".colorize(:blue) +" #{hero.powers}" end end
get_badge()
click to toggle source
# File lib/marvel_best_superheroes/cli.rb, line 49 def get_badge puts "\nPlease type in the Badge number to access: " input = gets.strip case input when "1" puts "\n Here comes TOP 10 MOST BADASS/OP SUPERHEROES \n".colorize(:blue) list_all_superheroes(AllSuperheroes.all[0..9]) when "2" puts "\n Here comes the Legendary Superheroes \n".colorize(:blue) list_all_superheroes(AllSuperheroes.all[10..24]) when "3" puts "\n Here comes the Super-duper Superheroes \n".colorize(:blue) list_all_superheroes(AllSuperheroes.all[25..49]) when "4" puts "\n Here comes the Incredible Superheroes \n".colorize(:blue) list_all_superheroes(AllSuperheroes.all[50..100]) else puts "Invalid input" get_badge end end
get_other_input()
click to toggle source
# File lib/marvel_best_superheroes/cli.rb, line 31 def get_other_input puts "Do you want to learn more about other Superheroes?" puts "Type 'Y/Yes' or type 'Exit/No' to end the program" input = gets.strip if input.upcase == "Y" or input.upcase == "YES" get_badge get_superhero_site display_superhero get_other_input elsif input.upcase == "EXIT" || input.upcase == "N" || input.upcase == "NO" puts "\n___May the FORCE be with you!!!___\n".colorize(:blue) else puts "\n Invalid input" get_other_input end end
get_superhero_site()
click to toggle source
# File lib/marvel_best_superheroes/cli.rb, line 71 def get_superhero_site puts "\nWhich superhero do you want to learn more about? " puts "Please type in superhero number:" input = gets.strip.to_i-1 if input >= 0 && input < all_superheroes_sites.size puts "\nPlease wait while we evoke #{all_superheroes_names[input]}...\n" Superheroes.get_superhero_infos(all_superheroes_sites[input]) else puts "Invalid input" puts "Please enter number in above selection" get_superhero_site end end
list_all_superheroes(heroes)
click to toggle source
# File lib/marvel_best_superheroes/cli.rb, line 86 def list_all_superheroes(heroes) heroes.each do |hero| puts "#{hero.name}" end end