Sha256: b4fdd839ad0d66256d6ca7abdf97459308a78831a67fcf08110fd239caaa7ccf
Contents?: true
Size: 970 Bytes
Versions: 11
Compression:
Stored size: 970 Bytes
Contents
# typed: strong # 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
11 entries across 11 versions & 1 rubygems