class Rubicure::Movie
this is record of “config/movies.yml”
Public Class Methods
config()
click to toggle source
@return [Hash] content of config/movies.yml
# File lib/rubicure/movie.rb, line 24 def config unless @config config_file = "#{File.dirname(__FILE__)}/../../config/movies.yml" @config = YAML.load_file(config_file).deep_symbolize_keys end @config end
find(movie_name)
click to toggle source
@param movie_name [Symbol] @return [Rubicure::Movie] @raise arg is invalid
# File lib/rubicure/movie.rb, line 47 def find(movie_name) raise UnknownMovieError, "unknown movie: #{movie_name}" unless valid?(movie_name) @cache ||= {} unless @cache[movie_name] movie_config = config[movie_name] || {} movie_config.compact! @cache[movie_name] = Rubicure::Movie[movie_config] end @cache[movie_name] end
names()
click to toggle source
@return [Array<Symbol>]
# File lib/rubicure/movie.rb, line 10 def names config.keys end
reload_config!()
click to toggle source
@return [Hash] content of config/movies.yml
# File lib/rubicure/movie.rb, line 33 def reload_config! @cache = {} @config = nil config end
uniq_names()
click to toggle source
@return [Array<Symbol>]
# File lib/rubicure/movie.rb, line 15 def uniq_names uniq_names = [] config.each do |name, series| uniq_names << name unless uniq_names.any? {|uniq_name| config[uniq_name][:title] == series[:title] } end uniq_names end
valid?(series_name)
click to toggle source
@param [Symbol] series_name
# File lib/rubicure/movie.rb, line 40 def valid?(series_name) names.include?(series_name) end