/tools/Ruby/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/ext/core.rb
http://github.com/agross/netopenspace · Ruby · 27 lines · 9 code · 0 blank · 18 comment · 1 complexity · 017b3a79bc7f614ae99f3e71a8d1f40a MD5 · raw file
- ######################################################################
- # 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