class BookReleasesCliApp::CLI
Public Instance Methods
call()
click to toggle source
# File lib/book_releases_cli_app/cli.rb, line 3 def call load_new_releases list_store_menu end
list_books_by_store(selected_store)
click to toggle source
# File lib/book_releases_cli_app/cli.rb, line 44 def list_books_by_store(selected_store) system "clear" or system "cls" puts "\n#{selected_store.name} New Releases\n".colorize(:blue) BookReleasesCliApp::Store.print_books_by_store(selected_store) #selected_store.books.each.with_index(1) do |book, i| # puts "#{i}. #{book.title} - #{book.author} - #{book.release_date} - #{book.type} #{book.price}" #end puts "" end
load_new_releases()
click to toggle source
# File lib/book_releases_cli_app/cli.rb, line 8 def load_new_releases puts "Loading new releases from Barnes and Noble website..." bn = BookReleasesCliApp::Store.new("Barnes and Noble (B&N)", BookReleasesCliApp::Scraper.bn_scraper) puts "Loading new releases from Books a Million website..." bam = BookReleasesCliApp::Store.new("Books a Million (BAM!)", BookReleasesCliApp::Scraper.bam_scraper) #binding.pry end
view_book(selected_store)
click to toggle source
# File lib/book_releases_cli_app/cli.rb, line 57 def view_book(selected_store) input = nil while input != "exit" puts "Enter a book number to show more information about the book." puts "Type 'list' to see the #{selected_store.name} list again or type 'exit' to select a different store." input = gets.strip.downcase if input.to_i.between?(1, selected_store.books.count) book = selected_store.find_book(input.to_i) puts "" puts "Title: #{book.detail_title}" puts "Author: #{book.detail_author}" puts "Release Date: #{book.release_date} || Format: #{book.type} || Price: #{book.price}" puts "OVERVIEW: #{book.overview}" puts "" elsif input == "list" list_books_by_store(selected_store) elsif input == "exit" system "clear" or system "cls" else puts "Invalid entry.".colorize(:red) end end end