Module: Asciidoctor::Extensions
- Defined in:
- lib/asciidoctor/extensions.rb
Overview
Asciidoctor processor.
Defined Under Namespace
Modules: BlockProcessorDsl, DocinfoProcessorDsl, DocumentProcessorDsl, IncludeProcessorDsl, InlineMacroProcessorDsl, MacroProcessorDsl, SyntaxProcessorDsl Classes: BlockMacroProcessor, BlockProcessor, DocinfoProcessor, Extension, Group, IncludeProcessor, InlineMacroProcessor, MacroProcessor, Postprocessor, Preprocessor, Processor, ProcessorExtension, Registry, TreeProcessor
Constant Summary collapse
- Treeprocessor =
Alias deprecated class name for backwards compatibility
TreeProcessor
Class Method Summary collapse
- .create(name = nil, &block) ⇒ Object
- .generate_name ⇒ Object
- .groups ⇒ Object
- .next_auto_id ⇒ Object
-
.register(*args, &block) ⇒ Proc, Class or Object
Registers an extension Group that subsequently registers a collection of extensions.
-
.unregister(*names) ⇒ void
Unregister statically-registered extension groups by name.
-
.unregister_all ⇒ void
Unregister all statically-registered extension groups.
Class Method Details
.create(name = nil, &block) ⇒ Object
1452 1453 1454 1455 1456 1457 1458 |
# File 'lib/asciidoctor/extensions.rb', line 1452 def create name = nil, &block if block_given? Registry.new (name || generate_name) => block else Registry.new end end |
.generate_name ⇒ Object
1439 1440 1441 |
# File 'lib/asciidoctor/extensions.rb', line 1439 def generate_name %(extgrp#{next_auto_id}) end |
.groups ⇒ Object
1448 1449 1450 |
# File 'lib/asciidoctor/extensions.rb', line 1448 def groups @groups ||= {} end |
.next_auto_id ⇒ Object
1443 1444 1445 1446 |
# File 'lib/asciidoctor/extensions.rb', line 1443 def next_auto_id @auto_id ||= -1 @auto_id += 1 end |
.register(*args, &block) ⇒ Proc, Class or Object
Registers an extension Group that subsequently registers a collection of extensions.
Registers the extension Group specified under the given name. If a name is not given, one is calculated by appending the next value in a 0-based index to the string “extgrp”. For instance, the first unnamed extension group to be registered is assigned the name “extgrp0” if a name is not specified.
The names are not yet used, but are intended for selectively activating extensions in the future.
If the extension group argument is a String or a Symbol, it gets resolved to a Class before being registered.
1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 |
# File 'lib/asciidoctor/extensions.rb', line 1494 def register *args, &block argc = args.size if block_given? resolved_group = block elsif (group = args.pop) # QUESTION should we instantiate the group class here or defer until activation?? resolved_group = (Helpers.resolve_class group) || group else raise ::ArgumentError, %(Extension group to register not specified) end name = args.pop || generate_name unless args.empty? raise ::ArgumentError, %(Wrong number of arguments (#{argc} for 1..2)) end groups[name.to_sym] = resolved_group end |
.unregister(*names) ⇒ void
This method returns an undefined value.
Unregister statically-registered extension groups by name.
1524 1525 1526 1527 |
# File 'lib/asciidoctor/extensions.rb', line 1524 def unregister *names names.each {|group| @groups.delete group.to_sym } nil end |
.unregister_all ⇒ void
This method returns an undefined value.
Unregister all statically-registered extension groups.
1514 1515 1516 1517 |
# File 'lib/asciidoctor/extensions.rb', line 1514 def unregister_all @groups = {} nil end |