Class: BbcNewsCliGem::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/bbc_news_cli_gem/scraper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(link) ⇒ Scraper

Returns a new instance of Scraper.



5
6
7
8
# File 'lib/bbc_news_cli_gem/scraper.rb', line 5

def initialize(link)
  @link = link
  @raw_page = Nokogiri::HTML(open(link))
end

Instance Attribute Details

Returns the value of attribute link.



3
4
5
# File 'lib/bbc_news_cli_gem/scraper.rb', line 3

def link
  @link
end

#raw_pageObject (readonly)

Returns the value of attribute raw_page.



3
4
5
# File 'lib/bbc_news_cli_gem/scraper.rb', line 3

def raw_page
  @raw_page
end

Instance Method Details

#scrape_front_pageObject



10
11
12
13
14
# File 'lib/bbc_news_cli_gem/scraper.rb', line 10

def scrape_front_page
  web_page = BbcNewsCliGem::FrontPage.new(link)
  create_articles(all_articles, web_page)
  web_page
end

#scrape_introObject



16
17
18
19
20
21
22
23
# File 'lib/bbc_news_cli_gem/scraper.rb', line 16

def scrape_intro
  raw_intro = raw_page.css('p.story-body__introduction')
  if raw_intro.first == nil
    "No Intro"
  else
    raw_intro.text.strip
  end
end