Class: Markbridge::Parsers::BBCode::Handlers::BaseHandler
- Inherits:
-
Object
- Object
- Markbridge::Parsers::BBCode::Handlers::BaseHandler
- Defined in:
- lib/markbridge/parsers/bbcode/handlers/base_handler.rb
Direct Known Subclasses
AlignHandler, AttachmentHandler, ColorHandler, EmailHandler, ListHandler, ListItemHandler, QuoteHandler, RawHandler, SelfClosingHandler, SimpleHandler, SizeHandler, SpoilerHandler, TableCellHandler, TableHandler, TableRowHandler, UrlHandler
Instance Attribute Summary collapse
-
#element_class ⇒ Class
readonly
The element class created by this handler Subclasses must expose this via attr_reader :element_class.
Instance Method Summary collapse
-
#auto_closeable? ⇒ Boolean
Whether elements created by this handler can be auto-closed.
-
#on_close(token:, context:, registry:, tokens: nil) ⇒ void
Default closing behavior: pop matching element from stack Subclasses can override or call super for custom behavior.
-
#on_open(token:, context:, registry:, tokens: nil) ⇒ void
Default opening behavior: create element and push to context Subclasses should override this method.
Instance Attribute Details
#element_class ⇒ Class (readonly)
The element class created by this handler Subclasses must expose this via attr_reader :element_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
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
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
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 |