class XbmcSql::RatingUpdater

Attributes

movie[RW]

Public Class Methods

go!() click to toggle source
# File lib/xbmc_sql/rating_updater.rb, line 5
def self.go!
  XbmcSql::Movie.find_each { |movie| XbmcSql::RatingUpdater.new(movie).scrape! }
end
new(movie) click to toggle source
# File lib/xbmc_sql/rating_updater.rb, line 11
def initialize(movie)
  @movie = movie
end

Public Instance Methods

scrape!() click to toggle source
# File lib/xbmc_sql/rating_updater.rb, line 15
def scrape!
  return unless has_imdb?

  response = HTTParty.get "http://www.omdbapi.com/?i=#{movie.imdb_id}"
  if json_response = JSON.parse(response.body)
    if json_response['imdbRating'].present?
      puts "Updating #{movie.title} from #{movie.rating} to #{json_response['imdbRating']}"
      movie.update_attributes! rating: json_response['imdbRating'], rating_votes: json_response['imdbVotes']
    else
      puts "json_response = #{json_response}"
    end
  end
rescue => e
  puts e
end

Private Instance Methods

has_imdb?() click to toggle source
# File lib/xbmc_sql/rating_updater.rb, line 33
def has_imdb?
  movie.imdb_id.present?
end