Class: SlickdealsCli::Deal

Inherits:
Object
  • Object
show all
Defined in:
lib/slickdeals_cli/deal.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#nameObject

Returns the value of attribute name.



2
3
4
# File 'lib/slickdeals_cli/deal.rb', line 2

def name
  @name
end

#priceObject

Returns the value of attribute price.



2
3
4
# File 'lib/slickdeals_cli/deal.rb', line 2

def price
  @price
end

#sellerObject

Returns the value of attribute seller.



2
3
4
# File 'lib/slickdeals_cli/deal.rb', line 2

def seller
  @seller
end

#urlObject

Returns the value of attribute url.



2
3
4
# File 'lib/slickdeals_cli/deal.rb', line 2

def url
  @url
end

Class Method Details

.featureObject



4
5
6
# File 'lib/slickdeals_cli/deal.rb', line 4

def self.feature
	self.scrape_populardeals
end


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/slickdeals_cli/deal.rb', line 17

def self.scrape_popular_slickdeals
	doc = Nokogiri::HTML(open("http://slickdeals.net/deals/"))
	pop_slick = []
	doc.css("div.box.popularDeal").each do |popular|
		popular.css("div.dealRow").css("div.mainDealInfo").each do |deals|
		 	deal_hash = {}
			name = deals.css("div.titleAndLinks").css("div.dealTitle").css("a").text
		 	url = "http://www.slickdeals.net" + deals.css("div.titleAndLinks").css("div.dealTitle").css("a").attr("href").value
		 	seller_info = deals.css("div.titleAndLinks").css("div.dealLinks").css("a").first.text
		 	seller = seller_info.gsub("More", "").gsub("Deals", "").strip
		 	deal_hash[:name] = name
		   	deal_hash[:url] = url
		   	deal_hash[:seller] = seller
		   	pop_slick << deal_hash
		end
	end	
	pop_slick	
end

.scrape_populardealsObject



8
9
10
11
12
13
14
15
# File 'lib/slickdeals_cli/deal.rb', line 8

def self.scrape_populardeals
	popular_deals = []

	popular_deals << self.scrape_popular_slickdeals
	popular_deals << self.scrape_woot

	popular_deals
end

.scrape_wootObject



36
37
38
39
40
41
42
43
44
# File 'lib/slickdeals_cli/deal.rb', line 36

def self.scrape_woot	
	doc = Nokogiri::HTML(open("https://woot.com"))

	deal = self.new
	deal.name = doc.search("h2.main-title").text
	deal.price = doc.search("#todays-deal span.price").text
	deal.url = doc.search("a.wantone").attr("href").value
	deal
end