class MovieOrganizer::TmdbInstance

Attributes

matches[R]
title[R]
year[R]

Public Class Methods

new(title, year = nil) click to toggle source
# File lib/movie_organizer/tmdb_instance.rb, line 10
def initialize(title, year = nil)
  Tmdb::Api.key(api_key) # configure TMDB API key
  @title = title
  @year  = year
end

Public Instance Methods

likely_match() click to toggle source

rubocop:disable Metrics/AbcSize rubocop:disable Style/RescueModifier

# File lib/movie_organizer/tmdb_instance.rb, line 25
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
movie?() click to toggle source
# File lib/movie_organizer/tmdb_instance.rb, line 16
def movie?
  @matches = Tmdb::Movie.find(title)
  sleep(0.25)
  return self if matches.any?
  false
end

Private Instance Methods

api_key() click to toggle source

rubocop:enable Style/RescueModifier rubocop:enable Metrics/AbcSize

# File lib/movie_organizer/tmdb_instance.rb, line 52
def api_key
  ENV.fetch('TMDB_KEY') do
    Settings.instance[:movies][:tmdb_key]
  end
end