Class: Top100Movies::Movie
- Inherits:
-
Object
- Object
- Top100Movies::Movie
- Defined in:
- lib/top_100_movies/movie.rb
Constant Summary collapse
- @@all =
[]
Instance Attribute Summary collapse
-
#box_office ⇒ Object
Returns the value of attribute box_office.
-
#directors ⇒ Object
Returns the value of attribute directors.
-
#disc_release_date ⇒ Object
Returns the value of attribute disc_release_date.
-
#genres ⇒ Object
Returns the value of attribute genres.
-
#name ⇒ Object
Returns the value of attribute name.
-
#rank ⇒ Object
Returns the value of attribute rank.
-
#rating ⇒ Object
Returns the value of attribute rating.
-
#release_date ⇒ Object
Returns the value of attribute release_date.
-
#runtime ⇒ Object
Returns the value of attribute runtime.
-
#score ⇒ Object
Returns the value of attribute score.
-
#studio ⇒ Object
Returns the value of attribute studio.
-
#synopsis ⇒ Object
Returns the value of attribute synopsis.
-
#url ⇒ Object
Returns the value of attribute url.
-
#writers ⇒ Object
Returns the value of attribute writers.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(rank = nil, name = nil, score = nil, url = nil) ⇒ Movie
constructor
A new instance of Movie.
Constructor Details
#initialize(rank = nil, name = nil, score = nil, url = nil) ⇒ Movie
Returns a new instance of Movie.
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/top_100_movies/movie.rb', line 7 def initialize(rank=nil, name=nil, score=nil, url=nil) @rank = rank @name = name @score = score @url = url @disc_release_date = "N/A" @box_office = "N/A" @writers = "N/A" @@all << self end |
Instance Attribute Details
#box_office ⇒ Object
Returns the value of attribute box_office.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def box_office @box_office end |
#directors ⇒ Object
Returns the value of attribute directors.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def directors @directors end |
#disc_release_date ⇒ Object
Returns the value of attribute disc_release_date.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def disc_release_date @disc_release_date end |
#genres ⇒ Object
Returns the value of attribute genres.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def genres @genres end |
#name ⇒ Object
Returns the value of attribute name.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def name @name end |
#rank ⇒ Object
Returns the value of attribute rank.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def rank @rank end |
#rating ⇒ Object
Returns the value of attribute rating.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def @rating end |
#release_date ⇒ Object
Returns the value of attribute release_date.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def release_date @release_date end |
#runtime ⇒ Object
Returns the value of attribute runtime.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def runtime @runtime end |
#score ⇒ Object
Returns the value of attribute score.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def score @score end |
#studio ⇒ Object
Returns the value of attribute studio.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def studio @studio end |
#synopsis ⇒ Object
Returns the value of attribute synopsis.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def synopsis @synopsis end |
#url ⇒ Object
Returns the value of attribute url.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def url @url end |
#writers ⇒ Object
Returns the value of attribute writers.
2 3 4 |
# File 'lib/top_100_movies/movie.rb', line 2 def writers @writers end |
Class Method Details
.all ⇒ Object
27 28 29 |
# File 'lib/top_100_movies/movie.rb', line 27 def self.all @@all.reject { |c| c.name.empty? } end |
.find(rank) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/top_100_movies/movie.rb', line 31 def self.find(rank) if @@all[rank-1].synopsis == nil Top100Movies::Scraper.scrape_details(@@all[rank-1]) @@all[rank-1] else @@all[rank-1] end end |
.new_from_index(index) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/top_100_movies/movie.rb', line 18 def self.new_from_index(index) self.new( index.search(".bold").text.tr('\.',''), index.search(".unstyled").text.strip, index.search(".tMeterScore").text.strip, Top100Movies::Scraper.scrape_url(index) ) end |
.print_movie(movie) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/top_100_movies/movie.rb', line 40 def self.print_movie(movie) puts "" puts "#{movie.rank}. #{movie.name}" puts "" puts "Rotten Tomatoes Score: #{movie.score}" puts "" puts "Synopsis" puts "#{movie.synopsis}" puts "" printf "%18s %-2s \n", "Rating:", movie. printf "%18s %-2s \n", "Genre:", movie.genres.join(", ") printf "%18s %-2s \n", "Directors:", movie.directors printf "%18s %-2s \n", "Writers:", movie.writers printf "%18s %-2s \n", "In Theaters:", movie.release_date[0..11] printf "%18s %-2s \n", "On Disc/Streaming:", movie.disc_release_date printf "%18s %-2s \n", "Box Office:", movie.box_office printf "%18s %-2s \n", "Runtime:", movie.runtime printf "%18s %-2s \n", "Studio:", movie.studio end |