Sha256: 0a1cdfd36dcf4eb38394a162b50c8880ae1ed99b2b7766e41d2bc1942b39f08b
Contents?: true
Size: 1.06 KB
Versions: 5
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module Karafka # Namespace for patches of external gems/libraries module Patches # Patch that will allow to use proc based lazy evaluated settings with Dry Configurable # @see https://github.com/dry-rb/dry-configurable/blob/master/lib/dry/configurable.rb module DryConfigurable # We overwrite ::Dry::Configurable::Config to change on proc behaviour # Unfortunately it does not provide an on call proc evaluation, so # this feature had to be added here on demand/ # @param args Any arguments that DryConfigurable::Config accepts def initialize(*args) super @config.each_key(&method(:rebuild)) end private # Method that rebuilds a given accessor, so when it consists a proc value, it will # evaluate it upon return # @param method_name [Symbol] name of an accessor that we want to rebuild def rebuild(method_name) define_singleton_method method_name do super().is_a?(Proc) ? super().call : super() end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems