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
32 33 34 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 32 def all_transformers registry.dup end |
.clear ⇒ Object
Clear all registrations (mainly for testing)
44 45 46 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 44 def clear @registry = {} end |
.register(ea_type, transformer_class) ⇒ Object
Register a transformer for an EA type
19 20 21 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 19 def register(ea_type, transformer_class) registry[ea_type.to_sym] = transformer_class end |
.register_defaults ⇒ Object
Register default transformers
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 55 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
39 40 41 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 39 def registered?(ea_type) registry.key?(ea_type.to_sym) end |
.registry ⇒ Hash
Get or initialize the registry
12 13 14 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 12 def registry @registry ||= {} end |
.reset_defaults ⇒ Object
Reset to default registrations
49 50 51 52 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 49 def reset_defaults clear register_defaults end |
.transformer_for(ea_type) ⇒ Class?
Get transformer for an EA type
26 27 28 |
# File 'lib/lutaml/qea/factory/transformer_registry.rb', line 26 def transformer_for(ea_type) registry[ea_type.to_sym] end |