Module: Dry::System::Plugins::Decorate
- Defined in:
- lib/dry/system/plugins/decorate.rb
Instance Method Summary collapse
Instance Method Details
#decorate(key, decorator:) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/dry/system/plugins/decorate.rb', line 7 def decorate(key, decorator:) original = _container.delete(key.to_s) if original.is_a?(Dry::Container::Item) && original.[:call] && decorator.is_a?(Class) register(key) do decorator.new(original.call) end else decorated = decorator.is_a?(Class) ? decorator.new(original) : decorator register(key, decorated) end end |