diff --git a/lib/brpoplpush/redis_script/config.rb b/lib/brpoplpush/redis_script/config.rb index 995ef74..8669e68 100644 --- a/lib/brpoplpush/redis_script/config.rb +++ b/lib/brpoplpush/redis_script/config.rb @@ -7,10 +7,6 @@ module RedisScript # # @author Mikael Henriksson class Config - # - # @!attribute [r] logger - # @return [Logger] a logger to use for debugging - attr_reader :logger # # @!attribute [r] scripts_path # @return [Pathname] a directory with lua scripts @@ -49,17 +45,23 @@ def scripts_path=(obj) end end + def logger + # Convert to a regular logger on first call + @logger = @logger.call if @logger.is_a?(Proc) + @logger + end + # # Sets a value for logger # - # @param [Logger] obj a logger to use + # @param [Logger, Proc] obj a logger to use # # @raise [ArgumentError] when given argument isn't a Logger # # @return [Logger] # def logger=(obj) - raise ArgumentError, "#{obj} should be a Logger" unless obj.is_a?(Logger) + raise ArgumentError, "#{obj} should be a Logger or a proc" unless obj.is_a?(Logger) || obj.is_a?(Proc) @logger = obj end