Module: ActiveSupport::Deprecation::ClassMethods

Included in:
Module
Defined in:
lib/gems/activesupport-2.2.2/lib/active_support/deprecation.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#deprecate(*method_names) ⇒ Object

Declare that a method has been deprecated.



87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/gems/activesupport-2.2.2/lib/active_support/deprecation.rb', line 87

def deprecate(*method_names)
  options = method_names.extract_options!
  method_names = method_names + options.keys
  method_names.each do |method_name|
    alias_method_chain(method_name, :deprecation) do |target, punctuation|
      class_eval("        def \#{target}_with_deprecation\#{punctuation}(*args, &block)\n          ::ActiveSupport::Deprecation.warn(self.class.deprecated_method_warning(:\#{method_name}, \#{options[method_name].inspect}), caller)\n          \#{target}_without_deprecation\#{punctuation}(*args, &block)\n        end\n      EOS\n    end\n  end\nend\n", __FILE__, __LINE__)

#deprecated_method_warning(method_name, message = nil) ⇒ Object



102
103
104
105
106
107
108
109
# File 'lib/gems/activesupport-2.2.2/lib/active_support/deprecation.rb', line 102

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

#deprecation_horizonObject



111
112
113
# File 'lib/gems/activesupport-2.2.2/lib/active_support/deprecation.rb', line 111

def deprecation_horizon
  '2.3'
end