Sha256: 8d034a40afec8750f2e5b17221e403782aebb86210c9af407c032d6293cc681b
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
# frozen_string_literal: true require 'themoviedb' # A cached movie lookup instance module MovieOrganizer class TmdbInstance attr_reader :title, :year, :matches def initialize(title, year = nil) Tmdb::Api.key(api_key) # configure TMDB API key @title = title @year = year end def movie? @matches = Tmdb::Movie.find(title) sleep(0.25) return self if matches.any? false end # rubocop:disable Metrics/AbcSize # rubocop:disable Style/RescueModifier def likely_match @likely_match ||= begin if year.nil? lm = matches.first release_date = Date.parse(lm.release_date) rescue nil @title = lm.title @year = release_date&.year else lm = nil matches.each do |m| release_date = Date.parse(m.release_date) rescue nil next unless release_date&.year.to_i == year.to_i lm = m @title = lm.title @year = release_date&.year break end lm ||= matches.first end lm end end # rubocop:enable Style/RescueModifier # rubocop:enable Metrics/AbcSize private def api_key ENV.fetch('TMDB_KEY') do Settings.instance[:movies][:tmdb_key] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
movie_organizer-1.0.2 | lib/movie_organizer/tmdb_instance.rb |
movie_organizer-1.0.1 | lib/movie_organizer/tmdb_instance.rb |