Class: Pubid::FormatRegistry
- Inherits:
-
Object
- Object
- Pubid::FormatRegistry
- Defined in:
- lib/pubid/format_registry.rb
Instance Attribute Summary collapse
-
#formats ⇒ Object
readonly
Returns the value of attribute formats.
Instance Method Summary collapse
- #has?(format) ⇒ Boolean
-
#initialize(parent: nil) ⇒ FormatRegistry
constructor
A new instance of FormatRegistry.
- #parser_for(format) ⇒ Object
- #register(format, renderer: nil, parser: nil) ⇒ Object
- #registered_formats ⇒ Object
- #renderer_for(format) ⇒ Object
Constructor Details
#initialize(parent: nil) ⇒ FormatRegistry
Returns a new instance of FormatRegistry.
7 8 9 10 |
# File 'lib/pubid/format_registry.rb', line 7 def initialize(parent: nil) @formats = {} @parent = parent end |
Instance Attribute Details
#formats ⇒ Object (readonly)
Returns the value of attribute formats.
5 6 7 |
# File 'lib/pubid/format_registry.rb', line 5 def formats @formats end |
Instance Method Details
#has?(format) ⇒ Boolean
38 39 40 |
# File 'lib/pubid/format_registry.rb', line 38 def has?(format) @formats.key?(format.to_sym) || (@parent&.has?(format) || false) end |
#parser_for(format) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/pubid/format_registry.rb', line 24 def parser_for(format) entry = @formats[format.to_sym] return entry[:parser] if entry && entry[:parser] return @parent.parser_for(format) if @parent nil end |
#register(format, renderer: nil, parser: nil) ⇒ Object
12 13 14 |
# File 'lib/pubid/format_registry.rb', line 12 def register(format, renderer: nil, parser: nil) @formats[format.to_sym] = { renderer:, parser: } end |
#registered_formats ⇒ Object
32 33 34 35 36 |
# File 'lib/pubid/format_registry.rb', line 32 def registered_formats formats = @formats.keys formats |= @parent.registered_formats if @parent formats end |
#renderer_for(format) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/pubid/format_registry.rb', line 16 def renderer_for(format) entry = @formats[format.to_sym] return entry[:renderer] if entry && entry[:renderer] return @parent.renderer_for(format) if @parent nil end |