Class: Module
- Inherits:
-
Object
- Object
- Module
- Defined in:
- lib/test/unit/deprecate.rb
Overview
define deprecation api
Constant Summary collapse
- DEPS =
Hash.new { |h,k| h[k] = {} }
Instance Method Summary collapse
Instance Method Details
#tu_deprecate(old, new) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/test/unit/deprecate.rb', line 15 def tu_deprecate old, new class_eval <<-EOM def #{old} *args, &block cls, clr = self.class, caller.first self.class.tu_deprecation_warning #{old.inspect}, #{new.inspect}, clr #{new}(*args, &block) end EOM end |
#tu_deprecation_warning(old, new = nil, kaller = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/test/unit/deprecate.rb', line 4 def tu_deprecation_warning old, new = nil, kaller = nil kaller ||= caller[1] unless DEPS[old][kaller] then msg = "#{self}##{old} deprecated. " msg += new ? "Use ##{new}" : "No replacement is provided" msg += ". From #{kaller}." warn msg end DEPS[old][kaller] = true end |