class Movie
Attributes
content_rating[RW]
director[RW]
genres[RW]
id[RW]
release_year[RW]
runtime[RW]
stars[RW]
summary[RW]
title[RW]
type[RW]
Public Class Methods
all()
click to toggle source
# File lib/imdb_term/movie.rb, line 24 def self.all @@all end
create(movie_data)
click to toggle source
# File lib/imdb_term/movie.rb, line 28 def self.create(movie_data) movie = self.new(movie_data) movie.save movie end
create_from_array(array)
click to toggle source
# File lib/imdb_term/movie.rb, line 52 def self.create_from_array(array) movies = Array.new array.each do |movie_data| movies << self.create_or_update(movie_data) end movies end
create_or_update(movie_data)
click to toggle source
# File lib/imdb_term/movie.rb, line 34 def self.create_or_update(movie_data) movie = self.find_by_id(movie_data[:id]) if movie.nil? movie = self.create(movie_data) else movie.update(movie_data) end movie end
find_by_id(id)
click to toggle source
# File lib/imdb_term/movie.rb, line 60 def self.find_by_id(id) self.all.detect { |movie| movie.id.eql?(id) } end
find_by_title(title)
click to toggle source
# File lib/imdb_term/movie.rb, line 69 def self.find_by_title(title) self.all.detect { |movie| movie.title.casecmp(title) == 0 } end
find_or_create_by_id(id)
click to toggle source
# File lib/imdb_term/movie.rb, line 64 def self.find_or_create_by_id(id) movie = self.find_by_id(id) movie.nil? ? self.create({:id => id}) : movie end
new(movie_data)
click to toggle source
# File lib/imdb_term/movie.rb, line 7 def initialize(movie_data) movie_data.each do |key, value| self.send("#{key}=", value) end end
new_from_array(array)
click to toggle source
# File lib/imdb_term/movie.rb, line 44 def self.new_from_array(array) movies = Array.new array.each do |movie_data| movies << self.new(movie_data) end movies end
Public Instance Methods
save()
click to toggle source
# File lib/imdb_term/movie.rb, line 19 def save @@all << self self end
update(movie_data)
click to toggle source
# File lib/imdb_term/movie.rb, line 13 def update(movie_data) movie_data.each do |key, value| self.send("#{key}=", value) end end