Class: ActionFigure::FormatRegistry::Formats

Inherits:
Object
  • Object
show all
Defined in:
lib/action_figure/format_registry.rb,
sig/action_figure.rbs

Overview

Stores the mapping of format names to formatter modules.

Instance Method Summary collapse

Constructor Details

#initializeFormats

Returns a new instance of Formats.



10
11
12
# File 'lib/action_figure/format_registry.rb', line 10

def initialize
  @formats = Concurrent::Map.new
end

Instance Method Details

#fetch(name) ⇒ Module

Parameters:

  • name (Symbol)

Returns:

  • (Module)


18
19
20
21
22
23
# File 'lib/action_figure/format_registry.rb', line 18

def fetch(name)
  @formats.fetch(name) do
    raise ArgumentError,
          "Unknown formatter: #{name}. Register it with ActionFigure.register_formatter(#{name}: MyFormatter)."
  end
end

#register_formatter(**formatters) ⇒ void

This method returns an undefined value.

Parameters:

  • formatters (Module)


14
15
16
# File 'lib/action_figure/format_registry.rb', line 14

def register_formatter(**formatters)
  formatters.each { |name, mod| @formats[name] = mod }
end