module Sqreen::Deprecation
Public Instance Methods
deprecate(method)
click to toggle source
# File lib/sqreen/deprecation.rb, line 14 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