class Dealpage

Constants

DEALS_BASE_PATH

Attributes

deals[RW]
pagenum[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

print_prev_page() click to toggle source

Prints Previous Page indicator