Module: ActiveSupport::Deprecation

Defined in:
lib/active_support/deprecation.rb

Defined Under Namespace

Modules: Assertions, ClassMethods Classes: DeprecatedInstanceVariableProxy

Constant Summary collapse

DEFAULT_BEHAVIORS =

Choose the default warn behavior according to RAILS_ENV. Ignore deprecation warnings in production.

{
  'test'        => Proc.new { |message, callstack|
                     $stderr.puts(message)
                     $stderr.puts callstack.join("\n  ") if debug
                   },
  'development' => Proc.new { |message, callstack|
                     RAILS_DEFAULT_LOGGER.warn message
                     RAILS_DEFAULT_LOGGER.debug callstack.join("\n  ") if debug
                   }
}

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.silenced=(value) ⇒ Object (writeonly)

Sets the attribute silenced

Parameters:

  • value

    the value to set the attribute silenced to.



48
49
50
# File 'lib/active_support/deprecation.rb', line 48

def silenced=(value)
  @silenced = value
end

Class Method Details

.default_behaviorObject



26
27
28
29
30
31
32
# File 'lib/active_support/deprecation.rb', line 26

def default_behavior
  if defined?(RAILS_ENV)
    DEFAULT_BEHAVIORS[RAILS_ENV.to_s]
  else
    DEFAULT_BEHAVIORS['test']
  end
end

.silenceObject

Silence deprecation warnings within the block.



41
42
43
44
45
46
# File 'lib/active_support/deprecation.rb', line 41

def silence
  old_silenced, @silenced = @silenced, true
  yield
ensure
  @silenced = old_silenced
end

.silenced?Boolean

Have deprecations been silenced?

Returns:

  • (Boolean)


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

def silenced?
  @silenced = false unless defined?(@silenced)
  @silenced
end

.warn(message = nil, callstack = caller) ⇒ Object



22
23
24
# File 'lib/active_support/deprecation.rb', line 22

def warn(message = nil, callstack = caller)
  behavior.call(deprecation_message(callstack, message), callstack) if behavior && !silenced?
end