class AttrDeprecated::DeprecatedAttributeLogger

Public Class Methods

new(target) click to toggle source
Calls superclass method
# File lib/notifiers/deprecation_logger.rb, line 3
def initialize(target)
  @target = target
  super()
end

Public Instance Methods

backtrace() click to toggle source
# File lib/notifiers/deprecation_logger.rb, line 16
def backtrace
  if defined? Rails
    Rails.backtrace_cleaner.clean(caller)
  else
    caller
  end
end
log_deprecated_attribute_usage(klass, *attrs) click to toggle source
# File lib/notifiers/deprecation_logger.rb, line 24
def log_deprecated_attribute_usage(klass, *attrs)
  warning_message = "WARNING: Called deprecated attribute on #{klass.name}: #{attrs.join(', ')}\n" +
    backtrace.map { |trace| "\t#{trace}" }.join("\n")
  if logger?
    logger.warn do
      warning_message
    end
  else
    puts warning_message
  end
end
logger() click to toggle source
# File lib/notifiers/deprecation_logger.rb, line 8
def logger
  @target.logger
end
logger?() click to toggle source
# File lib/notifiers/deprecation_logger.rb, line 12
def logger?
  @target.respond_to?(:logger) && @target.logger
end