Class: Avo::ViewTypes::ViewTypeManager
- Inherits:
-
Object
- Object
- Avo::ViewTypes::ViewTypeManager
- Defined in:
- lib/avo/view_types/view_type_manager.rb
Instance Attribute Summary collapse
-
#registry ⇒ Object
readonly
Returns the value of attribute registry.
Instance Method Summary collapse
- #component_for(name) ⇒ Object
- #find(name) ⇒ Object
-
#initialize ⇒ ViewTypeManager
constructor
A new instance of ViewTypeManager.
- #register(name, component:, icon:, active_icon:, translation_key: nil) ⇒ Object
- #registered?(name) ⇒ Boolean
- #reset ⇒ Object
Constructor Details
#initialize ⇒ ViewTypeManager
Returns a new instance of ViewTypeManager.
6 7 8 |
# File 'lib/avo/view_types/view_type_manager.rb', line 6 def initialize @registry = {} end |
Instance Attribute Details
#registry ⇒ Object (readonly)
Returns the value of attribute registry.
4 5 6 |
# File 'lib/avo/view_types/view_type_manager.rb', line 4 def registry @registry end |
Instance Method Details
#component_for(name) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/avo/view_types/view_type_manager.rb', line 23 def component_for(name) entry = find(name) raise Avo::ViewTypeComponentNotFoundError, "No component registered for view type '#{name}'" unless entry component = entry[:component] component.is_a?(String) ? component.constantize : component end |
#find(name) ⇒ Object
19 20 21 |
# File 'lib/avo/view_types/view_type_manager.rb', line 19 def find(name) @registry[name.to_sym] end |
#register(name, component:, icon:, active_icon:, translation_key: nil) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/avo/view_types/view_type_manager.rb', line 10 def register(name, component:, icon:, active_icon:, translation_key: nil) @registry[name.to_sym] = { component: component, icon: icon, active_icon: active_icon, translation_key: translation_key } end |
#registered?(name) ⇒ Boolean
32 33 34 |
# File 'lib/avo/view_types/view_type_manager.rb', line 32 def registered?(name) @registry.key?(name.to_sym) end |
#reset ⇒ Object
36 37 38 39 |
# File 'lib/avo/view_types/view_type_manager.rb', line 36 def reset @registry = {} register_defaults end |