Class: Asciidoctor::Extensions::Extension

Inherits:
Object
  • Object
show all
Defined in:
lib/asciidoctor/extensions.rb

Overview

Extension is a proxy object for an extension implementation such as a processor. It allows the preparation of the extension instance to be separated from its usage to provide consistency between different interfaces and avoid tight coupling with the extension type.

The proxy encapsulates the extension kind (e.g., :block), its config Hash and the extension instance. This Proxy is what gets stored in the extension registry when activated. – QUESTION call this ExtensionInfo?

Direct Known Subclasses

ProcessorExtension

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kind, instance, config) ⇒ Extension

Returns a new instance of Extension.



686
687
688
689
690
# File 'lib/asciidoctor/extensions.rb', line 686

def initialize kind, instance, config
  @kind = kind
  @instance = instance
  @config = config
end

Instance Attribute Details

#configObject (readonly)



683
684
685
# File 'lib/asciidoctor/extensions.rb', line 683

def config
  @config
end

#instanceObject (readonly)



684
685
686
# File 'lib/asciidoctor/extensions.rb', line 684

def instance
  @instance
end

#kindObject (readonly)



682
683
684
# File 'lib/asciidoctor/extensions.rb', line 682

def kind
  @kind
end