Module: ActiveSupport::Deprecation::Reporting

Included in:
ActiveSupport::Deprecation
Defined in:
activesupport/lib/active_support/deprecation/reporting.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#gem_nameObject

Name of gem where method is deprecated



11
12
13
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 11

def gem_name
  @gem_name
end

#silencedObject



40
41
42
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 40

def silenced
  @silenced || @silenced_thread.value
end

Instance Method Details

#deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil) ⇒ Object



44
45
46
47
48
49
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 44

def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
  caller_backtrace ||= caller_locations(2)
  deprecated_method_warning(deprecated_method_name, message).tap do |msg|
    warn(msg, caller_backtrace)
  end
end

#silence(&block) ⇒ Object

Silence deprecation warnings within the block.

ActiveSupport::Deprecation.warn('something broke!')
# => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)"

ActiveSupport::Deprecation.silence do
  ActiveSupport::Deprecation.warn('something broke!')
end
# => nil


36
37
38
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 36

def silence(&block)
  @silenced_thread.bind(true, &block)
end

#warn(message = nil, callstack = nil) ⇒ Object

Outputs a deprecation warning to the output configured by ActiveSupport::Deprecation.behavior.

ActiveSupport::Deprecation.warn('something broke!')
# => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)"


18
19
20
21
22
23
24
25
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 18

def warn(message = nil, callstack = nil)
  return if silenced

  callstack ||= caller_locations(2)
  deprecation_message(callstack, message).tap do |m|
    behavior.each { |b| b.call(m, callstack, deprecation_horizon, gem_name) }
  end
end