Class: CWG::RepeatWord
- Inherits:
-
Tester
show all
- Defined in:
- /Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb
Instance Method Summary
(collapse)
Methods inherited from Tester
#add_space, #audio, #audio_play, #audio_stop, #check_quit_key_input, #complete_word?, #current_word, #do_events, #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_words_exit, #play_words_thread, #play_words_until_quit, #print, #print_failed_exit_words, #print_letters?, #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, #sleep_char_delay, #spawn_play, #start_sync, #start_sync?, #stream, #sync_with_audio_player, #sync_with_play, #sync_with_print, #thread_processes, #timing, #wait_for_no_word_process, #wait_for_start_sync, #wait_player_startup_delay, #word_proc_timeout
Instance Method Details
- (Object) build_word_maybe
38
39
40
41
42
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 38
def build_word_maybe
@input_word ||= ''
@input_word << key_chr if is_relevant_char?
move_word_to_process if complete_word?
end
|
- (Object) print_marked_maybe
49
50
51
52
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 49
def print_marked_maybe
@popped = stream.pop_next_marked
print.results(@popped, :pass_only) if(@popped && ! print_letters?)
end
|
- (Object) print_words(words)
def print_failed_exit_words
until stream.stream_empty?
word = stream.pop[:value]
end
puts "empty!"
end
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 16
def print_words words
timing.init_char_timer
(words.to_s + ' ').each_char do |letr|
process_letter letr
loop do
do_events
process_space_maybe letr
process_word_maybe
break if timing.char_delay_timeout?
end
print.success letr if print_letters?
end
end
|
31
32
33
34
35
36
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 31
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
|
- (Object) process_letter(letr)
44
45
46
47
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 44
def process_letter letr
current_word.process_letter letr
sleep_char_delay letr
end
|
- (Object) run(words)
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File '/Users/martyn/cw/cw_clone/lib/cw/repeat_word.rb', line 54
def run words
temp_words = words.all
temp_words.each do |word|
loop do
@input_word, @words = '', Words.new
@quit, @failed = nil, nil
@words.add [word]
@threads = CWThreads.new(self, thread_processes)
@threads.start_threads
@threads.wait_for_threads
system("stty -raw echo")
break unless @failed
end
end
end
|