class Gm::Notepad::InputHandlerRegistry
Responsible for registering the various input handlers
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/gm/notepad/input_handler_registry.rb, line 6 def initialize @registry = [] yield(self) if block_given? end
Public Instance Methods
default_handler_builder()
click to toggle source
# File lib/gm/notepad/input_handler_registry.rb, line 27 def default_handler_builder InputHandlers::DefaultHandler end
handler_for(input:, skip_default: false, table_registry: Container.resolve(:table_registry))
click to toggle source
# File lib/gm/notepad/input_handler_registry.rb, line 11 def handler_for(input:, skip_default: false, table_registry: Container.resolve(:table_registry)) handler = nil @registry.each do |handler_builder| if handler = handler_builder.build_if_handled(input: input, table_registry: table_registry) break end end return handler if handler return nil if skip_default default_handler_builder.build_if_handled(input: input, table_registry: table_registry) end
register(handler:)
click to toggle source
# File lib/gm/notepad/input_handler_registry.rb, line 23 def register(handler:) @registry << handler end