class Movie
Attributes
gross_box[RW]
name[RW]
number_weeks[RW]
weekend_box[RW]
Public Class Methods
all()
click to toggle source
# File lib/top_box_office/movie.rb, line 8 def self.all @@all end
doc()
click to toggle source
# File lib/top_box_office/movie.rb, line 28 def self.doc @@doc ||= Nokogiri::HTML(open("http://www.imdb.com/chart/")) end
find(id)
click to toggle source
# File lib/top_box_office/movie.rb, line 16 def self.find(id) self.all[id.to_i - 1] end
find_by_name(movie)
click to toggle source
# File lib/top_box_office/movie.rb, line 20 def self.find_by_name(movie) self.all.detect do |mov| mov.movie.downcase.strip == movie.downcase.strip || mov.movie.split("").first.strip.downcase == movie.downcase.strip end end
gross_sales()
click to toggle source
# File lib/top_box_office/movie.rb, line 44 def self.gross_sales @@gross_sales ||= doc.search(".secondaryInfo").collect{|e| e.text.strip} end
movie_names()
click to toggle source
# File lib/top_box_office/movie.rb, line 36 def self.movie_names @@movie_names ||= doc.search(".titleColumn").collect{|e| e.text.strip} end
num_weeks()
click to toggle source
# File lib/top_box_office/movie.rb, line 48 def self.num_weeks @@num_weeks ||= doc.search(".weeksColumn").collect{|e| e.text.strip} end
scrape_all()
click to toggle source
# File lib/top_box_office/movie.rb, line 52 def self.scrape_all (0..movie_names.size-1).to_a.each do |i| movie_name = movie_names[i] weekend_box = weekend_sales[i] gross_box = gross_sales[i] number_weeks = num_weeks[i] movie = Movie.new movie.name = movie_name movie.weekend_box = weekend_box movie.gross_box = gross_box movie.number_weeks = number_weeks movie.save end end
weekend_date()
click to toggle source
# File lib/top_box_office/movie.rb, line 32 def self.weekend_date @@weekend_date ||= doc.search("#boxoffice.article.listo h4").text end
weekend_sales()
click to toggle source
# File lib/top_box_office/movie.rb, line 40 def self.weekend_sales @@weekend_sales ||= doc.search(".titleColumn+.ratingColumn").collect{|e| e.text.strip} end
Public Instance Methods
save()
click to toggle source
# File lib/top_box_office/movie.rb, line 12 def save @@all << self end