class MoviesNews::Article

Attributes

author[RW]
story[RW]
title[RW]

Public Class Methods

all() click to toggle source
# File lib/movies_news/article.rb, line 11
def self.all
  @@articles
end
create(title) click to toggle source
# File lib/movies_news/article.rb, line 24
def self.create(title)
  article = self.new(title)
  article.save
  article
end
create_from_array(array) click to toggle source
# File lib/movies_news/article.rb, line 43
def self.create_from_array(array)
  array.each do |article|
    title = article[:title]
    author = article[:author]
    story = article[:story]

    new_author = MoviesNews::Author.find_or_create_by_name(author)
    new_article = self.new(title, new_author)
    new_article.story = story
    new_article.save
  end
end
destroy_all() click to toggle source
# File lib/movies_news/article.rb, line 19
def self.destroy_all
  self.all.clear
end
find_by_title(title) click to toggle source
# File lib/movies_news/article.rb, line 35
def self.find_by_title(title)
  self.all.detect { |x| x.title == title }
end
find_or_create_by_title(title) click to toggle source
# File lib/movies_news/article.rb, line 39
def self.find_or_create_by_title(title)
  self.find_by_title(title) || self.create(title)
end
get_articles() click to toggle source
# File lib/movies_news/article.rb, line 56
def self.get_articles
  self.create_from_array(MoviesNews::Scrape.make_articles)
  @@articles
end
new(title, author = nil, story = nil) click to toggle source
# File lib/movies_news/article.rb, line 6
def initialize(title, author = nil, story = nil)
  @title = title
  self.author = author unless author.nil?
end

Public Instance Methods

author=(author) click to toggle source
# File lib/movies_news/article.rb, line 30
def author=(author)
  @author = author
  author.add_article(self) unless author.articles.include?(self)
end
save() click to toggle source
# File lib/movies_news/article.rb, line 15
def save
  @@articles << self unless MoviesNews::Article.all.detect {|a| a.title == self.title }
end