dry-container icon indicating copy to clipboard operation
dry-container copied to clipboard

set default memoization for container

Open mbriggs opened this issue 8 years ago • 1 comments

Looking for a way to memoize by default, since for my usage, not memoizing is more of a corner case.

Thanks :)

mbriggs avatar Feb 22 '18 21:02 mbriggs

@mbriggs I think you can subclass Dry::Container::Registry and override #call, like:

MemoByDefaultRegistry < Dry::Container::Registry
  def call(container, key, item, options)
    super(container, key, item, {memoize: true}.merge(options))
  end
end

Dry::Container.configure do |config|
  config.registry = MemoByDefaultRegistry.new
end

ushis avatar Jul 18 '18 22:07 ushis