Class: Coradoc::Markdown::Serializer::Builder
- Inherits:
-
Object
- Object
- Coradoc::Markdown::Serializer::Builder
- Defined in:
- lib/coradoc/markdown/serializer/builder.rb
Overview
Fluent builder for a configured serializer runner.
Usage:
Serializer.build(:gfm) do |config|
config.admonition_style = :container
config.suppress_comments = false
end.call(element)
The block yields the Builder itself; assignments accumulate as overrides and are frozen into a Config when ‘runner` (or `call`) is invoked.
Instance Attribute Summary collapse
-
#flavor ⇒ Object
readonly
Returns the value of attribute flavor.
-
#overrides ⇒ Object
readonly
Returns the value of attribute overrides.
Instance Method Summary collapse
- #apply(hash) ⇒ Object
- #call(element) ⇒ Object
- #config ⇒ Object
-
#initialize(flavor = Flavor::DEFAULT_FLAVOR) ⇒ Builder
constructor
A new instance of Builder.
- #runner ⇒ Object
Constructor Details
#initialize(flavor = Flavor::DEFAULT_FLAVOR) ⇒ Builder
Returns a new instance of Builder.
27 28 29 30 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 27 def initialize(flavor = Flavor::DEFAULT_FLAVOR) @flavor = flavor @overrides = {} end |
Instance Attribute Details
#flavor ⇒ Object (readonly)
Returns the value of attribute flavor.
25 26 27 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 25 def flavor @flavor end |
#overrides ⇒ Object (readonly)
Returns the value of attribute overrides.
25 26 27 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 25 def overrides @overrides end |
Instance Method Details
#apply(hash) ⇒ Object
38 39 40 41 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 38 def apply(hash) hash.each { |k, v| @overrides[k.to_sym] = v } self end |
#call(element) ⇒ Object
51 52 53 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 51 def call(element) runner.call(element) end |
#config ⇒ Object
43 44 45 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 43 def config @config ||= Config.new(flavor: flavor, **overrides) end |
#runner ⇒ Object
47 48 49 |
# File 'lib/coradoc/markdown/serializer/builder.rb', line 47 def runner @runner ||= Runner.new(config: config, registry: Registrations.default_registry) end |