class RSpecLive::KeyHandler
Public Class Methods
new()
click to toggle source
# File lib/rspec-live/key_handler.rb, line 3 def initialize @event = {} end
Public Instance Methods
on(*keys, &block)
click to toggle source
# File lib/rspec-live/key_handler.rb, line 7 def on(*keys, &block) keys.each { |key| @event[key] = block } end
process_updates()
click to toggle source
# File lib/rspec-live/key_handler.rb, line 11 def process_updates any_processed = false while key = get_character_if_available handle key any_processed = true end any_processed end
Private Instance Methods
get_character_if_available()
click to toggle source
# File lib/rspec-live/key_handler.rb, line 22 def get_character_if_available STDIN.read_nonblock 1 rescue Errno::EINTR rescue Errno::EAGAIN rescue EOFError end
handle(key)
click to toggle source
# File lib/rspec-live/key_handler.rb, line 29 def handle(key) if @event[key] @event[key].call @update_listener.call if @update_listener end end