Sha256: 120e90dc80c28abb3f222f54de4449f5470724ae294dca29f059256e1da34813
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require_relative "watchbuffy/version" require "json" module Watchbuffy EPISODES = JSON.parse(File.read(__dir__ + "/../data/buffyverse-episodes.json"))["episodes"] BUFFY_SEASONS = [1, 2, 3, 4, 5, 6, 7] ANGEL_SEASONS = [1, 2, 3, 4, 5] class << self def pick(show: %w[buffy angel], buffy_season: BUFFY_SEASONS, angel_season: ANGEL_SEASONS, exclude_characters: []) episode = EPISODES.select{ |e| show.include?(e["show"]) && ( e["show"] == "buffy" && Array(buffy_season).include?(e["season"]) || e["show"] == "angel" && Array(angel_season).include?(e["season"]) ) && (Array(e["includesCharacters"]) & Array(exclude_characters)).length.zero? }.sample if episode watch(episode) else puts "No episode found" end end private def watch(episode) puts \ '▶️ Watch %s episode %s×%s: "%s"' % [ episode["show"].capitalize, episode["season"], episode["numberInSeason"], episode["title"], ] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
watchbuffy-1.0.3 | lib/watchbuffy.rb |
watchbuffy-1.0.2 | lib/watchbuffy.rb |