class Fusuma::Plugin::Buffers::KeypressBuffer

Buffer events having KeypressRecord

Constants

DEFAULT_SOURCE

Public Instance Methods

buffer(event) click to toggle source

@param event [Event]

# File lib/fusuma/plugin/buffers/keypress_buffer.rb, line 11
def buffer(event)
  return if event&.tag != source

  @events.push(event)
end
clear_expired(*) click to toggle source
# File lib/fusuma/plugin/buffers/keypress_buffer.rb, line 17
def clear_expired(*)
  return if @events.empty?

  return unless released?

  released_code = @events.last.record.code
  @events.delete_if { |e| e.record.code == released_code }
end
empty?() click to toggle source
# File lib/fusuma/plugin/buffers/keypress_buffer.rb, line 26
def empty?
  @events.empty?
end

Private Instance Methods

released?() click to toggle source
# File lib/fusuma/plugin/buffers/keypress_buffer.rb, line 32
def released?
  true if @events.last.record.status =~ /released/
end