Class: Lutaml::Qea::Factory::TransformerRegistry
- Inherits:
-
Object
- Object
- Lutaml::Qea::Factory::TransformerRegistry
- Defined in:
- lib/lutaml/qea/factory/transformer_registry.rb
Overview
Registry for EA to UML transformers Implements the Registry pattern for transformer lookup
Class Method Summary collapse
-
.all_transformers ⇒ Hash
Get all registered transformers.
-
.clear ⇒ Object
Clear all registrations (mainly for testing).
-
.register(ea_type, transformer_class) ⇒ Object
Register a transformer for an EA type.
-
.register_defaults ⇒ Object
Register default transformers.
-
.registered?(ea_type) ⇒ Boolean
Check if a transformer is registered for a type.
-
.registry ⇒ Hash
Get or initialize the registry.
-
.reset_defaults ⇒ Object
Reset to default registrations.
-
.transformer_for(ea_type) ⇒ Class?
Get transformer for an EA type.
Class Method Details
.all_transformers ⇒ Hash
Get all registered transformers
40 41 42 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 40 def all_transformers registry.dup end |
.clear ⇒ Object
Clear all registrations (mainly for testing)
52 53 54 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 52 def clear @registry = {} end |
.register(ea_type, transformer_class) ⇒ Object
Register a transformer for an EA type
27 28 29 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 27 def register(ea_type, transformer_class) registry[ea_type.to_sym] = transformer_class end |
.register_defaults ⇒ Object
Register default transformers
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 63 def register_defaults # Object types register(:class, ClassTransformer) register(:interface, ClassTransformer) register(:package, PackageTransformer) # Connector types register(:association, AssociationTransformer) register(:generalization, GeneralizationTransformer) # Other types register(:attribute, AttributeTransformer) register(:operation, OperationTransformer) register(:diagram, DiagramTransformer) end |
.registered?(ea_type) ⇒ Boolean
Check if a transformer is registered for a type
47 48 49 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 47 def registered?(ea_type) registry.key?(ea_type.to_sym) end |
.registry ⇒ Hash
Get or initialize the registry
20 21 22 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 20 def registry @registry ||= {} end |
.reset_defaults ⇒ Object
Reset to default registrations
57 58 59 60 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 57 def reset_defaults clear register_defaults end |
.transformer_for(ea_type) ⇒ Class?
Get transformer for an EA type
34 35 36 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 34 def transformer_for(ea_type) registry[ea_type.to_sym] end |