Module: AdminSuite::UI::ShowFormatterRegistry
- Defined in:
- lib/admin_suite/ui/show_formatter_registry.rb
Class Method Summary collapse
- .class_handlers ⇒ Object
- .default_handler ⇒ Object
- .format(value, view:, record:, field_name:) ⇒ Object
- .register_class(klass, &block) ⇒ Object
- .register_default(&block) ⇒ Object
Class Method Details
.class_handlers ⇒ Object
7 8 9 |
# File 'lib/admin_suite/ui/show_formatter_registry.rb', line 7 def class_handlers @class_handlers ||= {} end |
.default_handler ⇒ Object
11 12 13 |
# File 'lib/admin_suite/ui/show_formatter_registry.rb', line 11 def default_handler @default_handler end |
.format(value, view:, record:, field_name:) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/admin_suite/ui/show_formatter_registry.rb', line 23 def format(value, view:, record:, field_name:) handler = class_handlers.find { |klass, _| value.is_a?(klass) }&.last handler ||= default_handler return nil unless handler handler.call(value, view, record, field_name) end |
.register_class(klass, &block) ⇒ Object
15 16 17 |
# File 'lib/admin_suite/ui/show_formatter_registry.rb', line 15 def register_class(klass, &block) class_handlers[klass] = block end |
.register_default(&block) ⇒ Object
19 20 21 |
# File 'lib/admin_suite/ui/show_formatter_registry.rb', line 19 def register_default(&block) @default_handler = block end |