class Dealpage
Constants
- DEALS_BASE_PATH
Attributes
deals[RW]
next_page_link[RW]
pagenum[RW]
prev_page_link[RW]
vendor_name[RW]
Public Class Methods
all()
click to toggle source
# File lib/blackfriday2016/dealpage.rb, line 18 def self.all @@all end
create_new_dealpage(page_url)
click to toggle source
# File lib/blackfriday2016/dealpage.rb, line 13 def self.create_new_dealpage(page_url) deal_page_complete = Scraper.scrape_vendor_page(DEALS_BASE_PATH + page_url) Dealpage.new(deal_page_complete) end
display_deal_details(page_url)
click to toggle source
Display deal page with all the deals from the page as scraped
# File lib/blackfriday2016/dealpage.rb, line 27 def self.display_deal_details(page_url) current_page = self.create_new_dealpage(page_url) puts "-------------------------------------------------------".colorize(:light_blue) puts "#{current_page.vendor_name} - Deals - Page #{current_page.pagenum}:".center(55) puts "-------------------------------------------------------".colorize(:light_blue) current_page.deals.each do |deal| puts "# ".colorize(:light_red) + deal[0].colorize(:light_blue) + " - ".colorize(:light_red) + deal[1] end self.display_page_options(page_url) end
display_page_options(page_url)
click to toggle source
Display deal page menu options
# File lib/blackfriday2016/dealpage.rb, line 69 def self.display_page_options(page_url) puts "-------------------------------------------------------".colorize(:light_blue) current_page = self.create_new_dealpage(page_url) nextpage_url = current_page.next_page_link prevpage_url = current_page.prev_page_link puts "Please select from options below:".colorize(:green) self.print_prev_page if prevpage_url != nil self.print_next_page if nextpage_url != nil puts "\n" + "| '" + "s".colorize(:light_red) + "' to go back to the " + "Store Listing".colorize(:light_blue) + " |" puts "| '" + "x".colorize(:light_red) + "' to " + "Exit".colorize(:light_blue) + " the program |" print "\n" + "Please Enter your selection: ".colorize(:green) input = gets.strip.downcase if input == "n" self.go_to_next_page(nextpage_url, page_url) elsif input == "p" self.go_to_prev_page(prevpage_url, page_url) elsif input == "s" Vendor.display_vendors elsif input == "x" puts "Goodbye! Have a nice day.".colorize(:light_blue) else puts "You have entered an invalid choice. Please make a valid choice.".colorize(:light_blue) self.display_page_options(page_url) end end
go_to_next_page(nextpage_url, page_url)
click to toggle source
Method to display next page of deals if applicable
# File lib/blackfriday2016/dealpage.rb, line 49 def self.go_to_next_page(nextpage_url, page_url) if nextpage_url != nil self.display_deal_details(nextpage_url) elsif nextpage_url == nil puts "You have reached the end of Deal Listings of this Store.".colorize(:light_blue) self.display_page_options(page_url) end end
go_to_prev_page(prevpage_url, page_url)
click to toggle source
Method to display previous page of deals if applicable
# File lib/blackfriday2016/dealpage.rb, line 59 def self.go_to_prev_page(prevpage_url, page_url) if prevpage_url != nil self.display_deal_details(prevpage_url) elsif prevpage_url == nil puts "You have reached the beginning of Deal Listings of this Store.".colorize(:light_blue) self.display_page_options(page_url) end end
new(deal_page_complete)
click to toggle source
# File lib/blackfriday2016/dealpage.rb, line 9 def initialize(deal_page_complete) deal_page_complete.each {|key,value| self.send(("#{key}="), value)} end
page_count()
click to toggle source
# File lib/blackfriday2016/dealpage.rb, line 22 def self.page_count (self.all.count/10.to_f).ceil end
print_next_page()
click to toggle source
Prints Next Page indicator
# File lib/blackfriday2016/dealpage.rb, line 44 def self.print_next_page print "| '" + "n".colorize(:light_red) + "' >>> " + "Next Page".colorize(:light_blue) + " |" end
print_prev_page()
click to toggle source
Prints Previous Page indicator
# File lib/blackfriday2016/dealpage.rb, line 39 def self.print_prev_page print "| '" + "p".colorize(:light_red) + "' <<< " + "Previous Page".colorize(:light_blue) + " |" end