Class: SportHeadlines::Site

Inherits:
Object
  • Object
show all
Defined in:
lib/sport_headlines/site.rb

Constant Summary collapse

SITES =
{
      "ESPN" => "http://espn.go.com/",
      "Bleacher Report" => "http://bleacherreport.com/",
      "Pro Football Talk" => "http://profootballtalk.nbcsports.com/"
}
@@all =
[]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site_name, site_url) ⇒ Site

Returns a new instance of Site.



12
13
14
15
16
17
# File 'lib/sport_headlines/site.rb', line 12

def initialize(site_name, site_url)
  @site_name = site_name
  @site_url = site_url
  @articles = []
  @@all << self
end

Instance Attribute Details

#articlesObject

Returns the value of attribute articles.



2
3
4
# File 'lib/sport_headlines/site.rb', line 2

def articles
  @articles
end

#site_nameObject

Returns the value of attribute site_name.



2
3
4
# File 'lib/sport_headlines/site.rb', line 2

def site_name
  @site_name
end

#site_urlObject

Returns the value of attribute site_url.



2
3
4
# File 'lib/sport_headlines/site.rb', line 2

def site_url
  @site_url
end

Class Method Details

.allObject



19
20
21
# File 'lib/sport_headlines/site.rb', line 19

def self.all
  @@all
end

.create_sites_from_hashObject



27
28
29
30
31
# File 'lib/sport_headlines/site.rb', line 27

def self.create_sites_from_hash
  SITES.each do |site, url|
    self.new(site, url)
  end
end

Instance Method Details

#add_article(article) ⇒ Object



33
34
35
# File 'lib/sport_headlines/site.rb', line 33

def add_article(article)
  self.articles << article
end

#clear_articlesObject



23
24
25
# File 'lib/sport_headlines/site.rb', line 23

def clear_articles
  self.articles.clear
end

#list_articlesObject



37
38
39
40
41
# File 'lib/sport_headlines/site.rb', line 37

def list_articles
  self.articles.each_with_index do |article, index|
    puts "#{index + 1}. #{article.title}"
  end
end