class TopBeers::CLI
Attributes
beer_list_count[RW]
beers[RW]
breweries[RW]
styles[RW]
Public Instance Methods
call()
click to toggle source
# File lib/top-beers/cli.rb, line 4 def call TopBeers::Scraper.scrape_beers @beers = TopBeers::Beer.all @breweries = TopBeers::Brewery.all @styles = TopBeers::Style.all @beer_list_count = 1 list_beers beer_menu end
display_beer_detail(beer)
click to toggle source
# File lib/top-beers/cli.rb, line 77 def display_beer_detail(beer) puts "\n" puts "-"*"#{@beers.index(beer)+1}".length+"-"*"#{beer.name}".length+"--" puts "#{@beers.index(beer)+1}. #{beer.name} \n" puts "-"*"#{@beers.index(beer)+1}".length+"-"*"#{beer.name}".length+"--" puts "Brewed by".underline + ": #{beer.brewery.name}\n" puts "Location".underline + ": #{beer.brewery.location}" puts "Website".underline + ": #{beer.brewery.website}" puts "Style".underline + ": #{beer.style.name} \n" puts "Alcohol by volume (ABV)".underline + ": #{beer.abv} \n" puts "Beer Advocate Score".underline + ": #{beer.ba_score} \n" puts "Availability".underline + ": #{beer.availability} \n" puts "Description".underline + ": #{beer.description}" end
goodbye()
click to toggle source
# File lib/top-beers/cli.rb, line 290 def goodbye "Thanks for using TopBeers!" end
help()
click to toggle source
# File lib/top-beers/cli.rb, line 272 def help puts "\n-------------------------" puts "TopBeers List of Commands" puts "-------------------------" puts "Menu selection".underline + ":" puts "beers".colorize(:light_red) + " displays the list of top beers, 25 at a time, up to 250" puts "breweries".colorize(:light_red) + " displays the list of top breweries" puts "styles".colorize(:light_red) + " displays the list of top styles" puts "\nFrom the Beers menu".underline + ":" puts "more".colorize(:light_red) + " lists 25 more beers from the current point in the list" puts "all".colorize(:light_red) + " lists all 250 beers" puts "reset".colorize(:light_red) + " shows the top 25 beers" puts "\nFrom any menu".underline + ":" puts "[number]".colorize(:light_red) + " selects an item with the corresponding number from the current menu" puts "list".colorize(:light_red) + " displays the list of the current menu again" puts "exit".colorize(:light_red) + " leaves the application" end
list_all_beers()
click to toggle source
# File lib/top-beers/cli.rb, line 39 def list_all_beers @beers.each.with_index(1) do |beer, i| puts "#{i}. #{beer.name} - #{beer.brewery.name} - #{beer.style.name}" end end
list_beers()
click to toggle source
# File lib/top-beers/cli.rb, line 17 def list_beers puts "\n---------------------------------------" puts "Beer Advocate's Best Beers in the World" puts "---------------------------------------" if @beer_list_count > 25 i = @beer_list_count - 1 @beer_list_count = 1 i.times do beer = @beers[beer_list_count - 1] puts "#{@beer_list_count}. #{beer.name} - #{beer.brewery.name} - #{beer.style.name}" @beer_list_count += 1 end else 25.times do beer = @beers[beer_list_count - 1] puts "#{beer_list_count}. #{beer.name} - #{beer.brewery.name} - #{beer.style.name}" @beer_list_count += 1 end end end
list_breweries()
click to toggle source
# File lib/top-beers/cli.rb, line 57 def list_breweries puts "\n------------------------------------" puts "Breweries with the World's Top Beers" puts "------------------------------------" puts @breweries.each.with_index(1) do |brewery, i| puts "#{i}. #{brewery.name}" end end
list_styles()
click to toggle source
# File lib/top-beers/cli.rb, line 67 def list_styles puts "\n------------------------------------" puts "Styles with the World's Top Beers" puts "------------------------------------" puts @styles.each.with_index(1) do |style, i| puts "#{i}. #{style.name}" end end
more_beers()
click to toggle source
# File lib/top-beers/cli.rb, line 45 def more_beers if @beer_list_count >= @beers.length puts "There are no more beers to list" else 25.times do beer = @beers[beer_list_count - 1] puts "#{beer_list_count}. #{beer.name} - #{beer.brewery.name} - #{beer.style.name}" @beer_list_count += 1 end end end
reset_beer_counter()
click to toggle source
# File lib/top-beers/cli.rb, line 14 def reset_beer_counter @beer_list_count = 1 end