Class: BookReleasesCliApp::CLI
- Inherits:
-
Object
- Object
- BookReleasesCliApp::CLI
- Defined in:
- lib/book_releases_cli_app/cli.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#list_books_by_store(selected_store) ⇒ Object
– list_store_menu –.
-
#list_store_menu ⇒ Object
– load_new_releases.
-
#load_new_releases ⇒ Object
– call –.
-
#view_book(selected_store) ⇒ Object
– list_books_by_store –.
Instance Method Details
#call ⇒ Object
3 4 5 6 |
# File 'lib/book_releases_cli_app/cli.rb', line 3 def call load_new_releases end |
#list_books_by_store(selected_store) ⇒ Object
– list_store_menu –
44 45 46 47 48 49 50 51 52 53 54 55 |
# 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 |
#list_store_menu ⇒ Object
– load_new_releases
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/book_releases_cli_app/cli.rb', line 17 def system "clear" or system "cls" input = nil while input.to_i != 9 puts "New Book Releases" puts "=================".colorize(:blue) BookReleasesCliApp::Store.print_all puts "[9]. Exit" puts "Enter your choice: " input = gets.strip.downcase if input.to_i == 9 puts "Thank you for using New Book Releases" elsif input.to_i.between?(1, BookReleasesCliApp::Store.all.count) selected_store = BookReleasesCliApp::Store.find(input.to_i) list_books_by_store(selected_store) view_book(selected_store) else puts "Incorrect entry. Enter the store number or type '9' to exit.".colorize(:red) end end end |
#load_new_releases ⇒ Object
– call –
8 9 10 11 12 13 14 15 |
# 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) ⇒ Object
– list_books_by_store –
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# 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.}" 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 |