class Misfortune::CLI::BingeCommand

Attributes

cookies[R]
flavor[R]
options[R]

Public Class Methods

new(options) click to toggle source
# File lib/misfortune/cli/binge_command.rb, line 6
def initialize(options)
  @options = options
  @cookies = CookieJar.new(options['source']).cookies
  @flavor = Flavor.new(:terminal)

  trap_interrupt
end

Public Instance Methods

run() click to toggle source
# File lib/misfortune/cli/binge_command.rb, line 14
def run
  current = 0
  loop do
    render(cookies[current % cookies_count])
    current = select_cookie(current)
  end
end

Protected Instance Methods

cookies_count() click to toggle source
# File lib/misfortune/cli/binge_command.rb, line 24
def cookies_count
  @cookies_count ||= cookies.count
end
render(cookie) click to toggle source
# File lib/misfortune/cli/binge_command.rb, line 28
def render(cookie)
  system 'clear'
  puts flavor.apply_to(cookie)
  puts "\n\nPress ENTER to continue\n\n"
end
trap_interrupt() click to toggle source
# File lib/misfortune/cli/binge_command.rb, line 39
def trap_interrupt
  Signal.trap('INT') do
    exit
  end
end