mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
9cadc95b28
* lib/rake: Update to rake 10.1.0 * bin/rake: ditto. * test/rake: ditto. * NEWS: Update NEWS to include rake 10.1.0 and links to release notes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
28 lines
726 B
Ruby
28 lines
726 B
Ruby
######################################################################
|
|
# Core extension library
|
|
#
|
|
class Module
|
|
# Check for an existing method in the current class before extending. IF
|
|
# the method already exists, then a warning is printed and the extension is
|
|
# not added. Otherwise the block is yielded and any definitions in the
|
|
# block will take effect.
|
|
#
|
|
# Usage:
|
|
#
|
|
# class String
|
|
# rake_extension("xyz") do
|
|
# def xyz
|
|
# ...
|
|
# end
|
|
# end
|
|
# end
|
|
#
|
|
def rake_extension(method)
|
|
if method_defined?(method)
|
|
$stderr.puts "WARNING: Possible conflict with Rake extension: " +
|
|
"#{self}##{method} already exists"
|
|
else
|
|
yield
|
|
end
|
|
end
|
|
end
|