Class: Markbridge::Parsers::BBCode::Handlers::BaseHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/markbridge/parsers/bbcode/handlers/base_handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#element_classClass (readonly)

The element class created by this handler Subclasses must expose this via attr_reader :element_class

Returns:

  • (Class)


39
40
41
# File 'lib/markbridge/parsers/bbcode/handlers/base_handler.rb', line 39

def element_class
  @element_class
end

Instance Method Details

#auto_closeable?Boolean

Whether elements created by this handler can be auto-closed

Returns:

  • (Boolean)


32
33
34
# File 'lib/markbridge/parsers/bbcode/handlers/base_handler.rb', line 32

def auto_closeable?
  false
end

#on_close(token:, context:, registry:, tokens: nil) ⇒ void

This method returns an undefined value.

Default closing behavior: pop matching element from stack Subclasses can override or call super for custom behavior

Parameters:



26
27
28
# File 'lib/markbridge/parsers/bbcode/handlers/base_handler.rb', line 26

def on_close(token:, context:, registry:, tokens: nil)
  registry.close_element(token:, context:, tokens:)
end

#on_open(token:, context:, registry:, tokens: nil) ⇒ void

This method returns an undefined value.

Default opening behavior: create element and push to context Subclasses should override this method

Parameters:



15
16
17
# File 'lib/markbridge/parsers/bbcode/handlers/base_handler.rb', line 15

def on_open(token:, context:, registry:, tokens: nil)
  # Default: do nothing, subclasses override
end