Sha256: b20841b95b28bb963f1d65e8bb6fae08805613434cd6536a00a7e62ccb868f5c
Contents?: true
Size: 970 Bytes
Versions: 10
Compression:
Stored size: 970 Bytes
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/log/loggable' module Sqreen module Deprecation include Sqreen::Log::Loggable module_function def deprecate(method) return unless ENV['SQREEN_DEBUG_DEPRECATION'] owner = method.owner deprecated = :"_deprecated_#{method.name}" klass = owner.is_a?(Module) target = klass ? owner.to_s : owner.class.to_s method.owner.instance_eval do alias_method deprecated, method.name define_method(method.name) do |*args, &block| msg = [ "deprecation", "target:#{target}", "method:#{method.name}", "caller:#{Kernel.caller_locations[0]}", ].join(' ') Sqreen::Deprecation.logger.info(msg) send(deprecated, *args, &block) end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems