deprecated project on rubyforge
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Erik Hollensbe e04cb988d5 deprecated 3.0.1 8 years ago
lib deprecated 3.0.1 8 years ago
test 2 space indent, something I should have fixed long ago. 8 years ago
.gitignore * Rakefiled it up. 12 years ago
MIT-LICENSE.txt Adds MIT license. 8 years ago
README Adds MIT license. 8 years ago
Rakefile remove package files, we're just using gems these days. 8 years ago

README

Deprecated is a module to help you deprecate code BEFORE you remove it. Don't
surprise your users, deprecate them!

Usage is simple:

class Foo
include Deprecated

def moo
"cow"
end

deprecated :moo

def sheep
"baaa"
end

deprecated :sheep, "Sounds#baa"

protected

def bar
true
end

deprecated :bar
end

Foo.new.moo # warns that the call is deprecated

Deprecated.set_action(:raise)
Foo.new.moo # raises with the same message

Deprecated.set_action do |klass, sym, replacement|
email_boss(
"Someone tried to use #{klass}##{sym}! " +
"They should be using #{replacement} instead!"
)
end

Foo.new.sheep # do I really need to explain?

Foo.new.bar # still protected!

Let's do it live!

class Bar
include Deprecated

# sets it just for this class
deprecated_set_action do |klass, sym, replacement|
email_boss(
"Someone tried to use #{klass}##{sym}! " +
"They should be using #{replacement} instead!"
)
end

def cow
"moo"
end

deprecate :cow # emails your boss when called!
end

Please see Deprecated::Module#deprecated, Deprecated.set_action, and
Deprecated::Module#deprecated_set_action for more information.

This library is released under the MIT license:
* http://www.opensource.org/licenses/MIT