Module: LivingSocialApi::NationalDealBuilder
- Defined in:
- lib/livingsocial/national_deal_builder.rb
Constant Summary collapse
- URL =
'http://livingsocial.com/nationwide'
Class Method Summary collapse
- .get_deal_price(html) ⇒ Object
- .get_deals ⇒ Object
- .get_description(html) ⇒ Object
- .get_image_url(html) ⇒ Object
- .get_original_price(html) ⇒ Object
- .get_title(html) ⇒ Object
- .get_url(html) ⇒ Object
- .load_page ⇒ Object
- .new_from_html(html) ⇒ Object
- .page {|load_page| ... } ⇒ Object
Class Method Details
.get_deal_price(html) ⇒ Object
40 41 42 |
# File 'lib/livingsocial/national_deal_builder.rb', line 40 def self.get_deal_price(html) html.children.css('p span').text.strip end |
.get_deals ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/livingsocial/national_deal_builder.rb', line 16 def self.get_deals page do |doc| doc.css(".flexdeals.daily").children.select {|item| item.text.strip != "" }.collect do |deal| new_from_html(deal) end end end |
.get_description(html) ⇒ Object
32 33 34 |
# File 'lib/livingsocial/national_deal_builder.rb', line 32 def self.get_description(html) html.children.css('h4 a').text.strip end |
.get_image_url(html) ⇒ Object
24 25 26 |
# File 'lib/livingsocial/national_deal_builder.rb', line 24 def self.get_image_url(html) html.children.css('a img').attribute('src').value end |
.get_original_price(html) ⇒ Object
36 37 38 |
# File 'lib/livingsocial/national_deal_builder.rb', line 36 def self.get_original_price(html) html.children.css('p del').text.strip end |
.get_title(html) ⇒ Object
28 29 30 |
# File 'lib/livingsocial/national_deal_builder.rb', line 28 def self.get_title(html) html.children.css('h3 a').text.strip end |
.get_url(html) ⇒ Object
44 45 46 |
# File 'lib/livingsocial/national_deal_builder.rb', line 44 def self.get_url(html) URL + html.children.css('h3 a').first.attributes['href'].value.strip end |
.load_page ⇒ Object
8 9 10 |
# File 'lib/livingsocial/national_deal_builder.rb', line 8 def self.load_page Nokogiri::HTML(open(URL)) end |
.new_from_html(html) ⇒ Object
48 49 50 51 52 53 54 55 56 |
# File 'lib/livingsocial/national_deal_builder.rb', line 48 def self.new_from_html(html) image = get_image_url(html) title = get_title(html) description = get_description(html) original_price = get_original_price(html) deal_price = get_deal_price(html) url = get_url(html) NationalDeal.new(image, title, description, original_price, deal_price, url) end |
.page {|load_page| ... } ⇒ Object
12 13 14 |
# File 'lib/livingsocial/national_deal_builder.rb', line 12 def self.page yield(load_page) end |