Class: CW::Reveal

Inherits:
Tester show all
Defined in:
lib/cw/reveal.rb

Instance Method Summary collapse

Methods inherited from Tester

#audio_stop, #complete_word?, #current_word, #cw_threads, #do_events, #exit!, #exit?, #failed!, #failed?, #finish?, #get_key_input, #get_word_last_char, #init_char_timer, #is_relevant_char?, #key_chr, #key_input, #kill_threads, #monitor_keys, #monitor_keys_thread, #move_word_to_process, #play, #play_words_thread, #print, #print_letters?, #print_words, #print_words_exit, #print_words_thread, #print_words_until_quit, #process_letters, #process_space_maybe, #process_word_maybe, #process_words, #push_letter_to_current_word, #quit, #quit?, #quit_key_input?, #reset_stdin, #run, #sleep_char_delay, #stream, #sync_with_audio_player, #sync_with_play, #sync_with_print, #thread_processes, #timing, #wait_for_no_word_process, #wait_for_start_sync, #word_proc_timeout

Constructor Details

#initializeReveal

Returns a new instance of Reveal.



6
7
8
9
# File 'lib/cw/reveal.rb', line 6

def initialize
  @reveal_buf = ''
  puts 'Reveal mode:'
end

Instance Method Details

#build_word_maybeObject



27
28
29
30
31
# File 'lib/cw/reveal.rb', line 27

def build_word_maybe
  @input_word ||= ''
  @input_word << key_chr if is_relevant_char?
  move_word_to_process if complete_word?
end


13
14
15
16
17
18
# File 'lib/cw/reveal.rb', line 13

def print_failed_exit_words
  until stream.stream_empty?
    @reveal_buf += stream.pop[:value] + ' '
  end
  print.success @reveal_buf
end


38
39
40
41
42
43
# File 'lib/cw/reveal.rb', line 38

def print_marked_maybe
  @popped = stream.pop_next_marked
  if @popped
    @reveal_buf += @popped[:value] + ' '
  end
end


11
# File 'lib/cw/reveal.rb', line 11

def print_test_advice    ; print.print_advice('Test Words')    ; end

#process_input_word_maybeObject



20
21
22
23
24
25
# File 'lib/cw/reveal.rb', line 20

def process_input_word_maybe
  if @word_to_process
    stream.match_last_active_element @process_input_word.strip
    @process_input_word = @word_to_process = nil
  end
end

#process_letter(letr) ⇒ Object



33
34
35
36
# File 'lib/cw/reveal.rb', line 33

def process_letter letr
  current_word.process_letter letr
  sleep_char_delay letr
end