Sha256: 3d83571d765889dadc9360a010fc3e39d18c5ff1b63ba797890c695905478c87
Contents?: true
Size: 1.69 KB
Versions: 2
Compression:
Stored size: 1.69 KB
Contents
module ActiveSupport module Deprecation class << self attr_accessor :silenced def warn(message = nil, callstack = caller) return if silenced deprecation_message(callstack, message).tap do |m| behavior.each { |b| b.call(m, callstack) } end end # Silence deprecation warnings within the block. def silence old_silenced, @silenced = @silenced, true yield ensure @silenced = old_silenced end def deprecated_method_warning(method_name, message = nil) warning = "#{method_name} is deprecated and will be removed from Rails #{deprecation_horizon}" case message when Symbol then "#{warning} (use #{message} instead)" when String then "#{warning} (#{message})" else warning end end private def deprecation_message(callstack, message = nil) message ||= "You are using deprecated behavior which will be removed from the next major or minor release." message += '.' unless message =~ /\.$/ "DEPRECATION WARNING: #{message} #{deprecation_caller_message(callstack)}" end def deprecation_caller_message(callstack) file, line, method = extract_callstack(callstack) if file if line && method "(called from #{method} at #{file}:#{line})" else "(called from #{file}:#{line})" end end end def extract_callstack(callstack) if md = callstack.first.match(/^(.+?):(\d+)(?::in `(.*?)')?/) md.captures else callstack.first end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activesupport-3.0.0.rc2 | lib/active_support/deprecation/reporting.rb |
activesupport-3.0.0.rc | lib/active_support/deprecation/reporting.rb |