class BestBooks::Decade

Attributes

decade[RW]
name[RW]
top10[RW]
url[RW]

Public Class Methods

all() click to toggle source
# File lib/best_books/decade.rb, line 39
def self.all
        @@all
end
books() click to toggle source
# File lib/best_books/decade.rb, line 44
def self.books
        @@all.each do |geturl|
                bookscraper = BestBooks::Book.scrape(geturl.url)
                top10 = []
                top10 = bookscraper
                geturl.top10 = top10
        end
        @@all
end
description(input, book_input) click to toggle source
# File lib/best_books/decade.rb, line 62
def self.description(input, book_input)
        #BestBooks::Decade.books
        iterate = @@all[input.to_i]
                iterate.top10.each do |book|
        if book.ranking.to_i == book_input
                puts "#{book.ranking} #{book.title} by #{book.author}"
                puts "Rated #{book.rating}"
                puts "#{book.description}"
        else
                puts " "
                end
        end
end
new() click to toggle source
# File lib/best_books/decade.rb, line 7
def initialize
        @name = name
        @url = url
        @top10 = top10
end
print() click to toggle source
save() click to toggle source
# File lib/best_books/decade.rb, line 35
def self.save
        @@all << self
end
scraper() click to toggle source
# File lib/best_books/decade.rb, line 13
def self.scraper
                decades = Nokogiri::HTML(open("https://www.goodreads.com/list/show/7"))
                decades.css("div.mediumText a").each do |scrape|
                        if scrape.text.include?("Century")
                                decade = self.new
                                decade.name = scrape.text.strip.gsub("Best Books of the ", "")
                                decade.url = scrape.attr("href")
                                decade
                                @@all << decade
                        else
                                scrape
                        end
                end
        @@all
end
top10(input) click to toggle source
# File lib/best_books/decade.rb, line 54
def self.top10(input)
        BestBooks::Decade.books
        iterate = @@all[input]
                iterate.top10.each do |book|
                        puts "#{book.ranking}. #{book.title} by #{book.author}"
        end
end