Class: Fusuma::Plugin::Buffers::Buffer

Inherits:
Fusuma::Plugin::Base show all
Defined in:
lib/fusuma/plugin/buffers/buffer.rb

Overview

buffer events and output

Direct Known Subclasses

GestureBuffer

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Fusuma::Plugin::Base

#config_index, #config_param_types, #config_params, inherited, plugins

Constructor Details

#initialize(*args) ⇒ Buffer

Returns a new instance of Buffer.



10
11
12
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 10

def initialize(*args)
  @events = Array.new(*args)
end

Instance Attribute Details

#eventsObject (readonly)

Returns the value of attribute events.



14
15
16
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 14

def events
  @events
end

Instance Method Details

#buffer(event) ⇒ Object

Parameters:

  • event (Event)


22
23
24
25
26
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 22

def buffer(event)
  return if event&.tag != source

  @events.push(event)
end

#clearObject

clear buffer



29
30
31
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 29

def clear
  @events.clear
end

#sourceObject

Set source for tag from config.yml. DEFAULT_SOURCE is defined in each plugins.



35
36
37
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 35

def source
  @source ||= config_params(:source) || self.class.const_get('DEFAULT_SOURCE')
end

#typeString

Returns:



17
18
19
# File 'lib/fusuma/plugin/buffers/buffer.rb', line 17

def type
  self.class.name.underscore.split('/').last.gsub('_buffer', '')
end