module Dry::Core::Container::Stub
def _stubs
def _stubs @_stubs ||= {} end
def enable_stubs!
def enable_stubs! # DO NOTHING end
def resolve(key)
- Api: - public
def resolve(key) _stubs.fetch(key.to_s) { super } end
def stub(key, value, &block)
def stub(key, value, &block) unless key?(key) raise ::ArgumentError, "cannot stub #{key.to_s.inspect} - no such key in container" end _stubs[key.to_s] = value if block yield unstub(key) end self end
def unstub(*keys)
def unstub(*keys) keys = _stubs.keys if keys.empty? keys.each { |key| _stubs.delete(key.to_s) } end