Class: Lutaml::Hal::GlobalRegister
- Inherits:
-
Object
- Object
- Lutaml::Hal::GlobalRegister
- Includes:
- Singleton
- Defined in:
- lib/lutaml/hal/global_register.rb
Overview
Global register for model registers This class is a singleton that manages the registration and retrieval of model registers. It ensures that each model register is unique and provides a way to access them globally.
Instance Method Summary collapse
- #delete(name) ⇒ Object
- #get(name) ⇒ Object
-
#initialize ⇒ GlobalRegister
constructor
A new instance of GlobalRegister.
- #register(name, model_register) ⇒ Object
- #unregister(name) ⇒ Object
Constructor Details
#initialize ⇒ GlobalRegister
Returns a new instance of GlobalRegister.
18 19 20 |
# File 'lib/lutaml/hal/global_register.rb', line 18 def initialize @model_registers = {} end |
Instance Method Details
#delete(name) ⇒ Object
37 38 39 40 41 |
# File 'lib/lutaml/hal/global_register.rb', line 37 def delete(name) return unless @model_registers[name] @model_registers.delete(name) end |
#get(name) ⇒ Object
31 32 33 34 35 |
# File 'lib/lutaml/hal/global_register.rb', line 31 def get(name) raise "Model register with name #{name} not found" unless @model_registers[name] @model_registers[name] end |
#register(name, model_register) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/lutaml/hal/global_register.rb', line 22 def register(name, model_register) if @model_registers[name] && @model_registers[name] != model_register raise "Model register with name #{name} replacing another one" \ " (#{@model_registers[name].inspect} vs #{model_register.inspect})" end @model_registers[name] = model_register end |
#unregister(name) ⇒ Object
43 44 45 |
# File 'lib/lutaml/hal/global_register.rb', line 43 def unregister(name) delete(name) end |