class Engine::CLI

Attributes

card[R]
cards[R]

Public Class Methods

new(cards) click to toggle source
# File lib/engine/cli.rb, line 4
def initialize(cards)
  @cards = Deck.new(cards)
end

Public Instance Methods

next_card() click to toggle source
# File lib/engine/cli.rb, line 8
def next_card
  @card = cards.sample
end
rate_card(score) click to toggle source
# File lib/engine/cli.rb, line 12
def rate_card(score)
  puts "Before : " + card.inspect
  card.rate(score).tap do |new_card|
    @cards = @cards.update_card(card, new_card)
    @card  = new_card
  end
  puts "After  : " + card.inspect
end
readline_loop() click to toggle source
# File lib/engine/cli.rb, line 21
def readline_loop
  next_card
  loop do
    input = Readline.readline("#{card.data.first} > ", true)
    exit unless input
    case input
    when /s/, ""
      puts card.data.last
    when /[0-5]/
      rate_card(input.to_i)
      next_card
    end
  end
end