In Files

  • rubygems/deprecate.rb

Class/Module Index [+]

Quicksearch

Gem::Deprecate

Public Class Methods

deprecate(name, repl, year, month) click to toggle source

Simple deprecation method that deprecates name by wrapping it up in a dummy method. It warns on each call to the dummy method telling the user of repl (unless repl is :none) and the year/month that it is planned to go away.

 
               # File rubygems/deprecate.rb, line 50
def deprecate name, repl, year, month
  class_eval {
    old = "_deprecated_#{name}"
    alias_method old, name
    define_method name do |*args, &block| # TODO: really works on 1.8.7?
      klass = self.kind_of? Module
      target = klass ? "#{self}." : "#{self.class}#"
      msg = [ "NOTE: #{target}#{name} is deprecated",
        repl == :none ? " with no replacement" : ", use #{repl}",
        ". It will be removed on or after %4d-%02d-01." % [year, month],
        "\n#{target}#{name} called from #{Gem.location_of_caller.join(":")}",
      ]
      warn "#{msg.join}." unless Gem::Deprecate.skip
      send old, *args, &block
    end
  }
end
            
skip_during() click to toggle source

Temporarily turn off warnings. Intended for tests only.

 
               # File rubygems/deprecate.rb, line 37
def skip_during
  Gem::Deprecate.skip, original = true, Gem::Deprecate.skip
  yield
ensure
  Gem::Deprecate.skip = original
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus