class Module


Core extension library
#####################################################################

def const_missing(const_name)

constants in Object and avoid this handler.
--classic-namespace command line option will define these
name, display a warning and return the proper object. Using the
Rake class names. If someone tries to reference the constant
Check for deprecated uses of top level (i.e. in Object) uses of
def const_missing(const_name)
  case const_name
  when :Task
    Rake.application.const_warning(const_name)
    Rake::Task
  when :FileTask
    Rake.application.const_warning(const_name)
    Rake::FileTask
  when :FileCreationTask
    Rake.application.const_warning(const_name)
    Rake::FileCreationTask
  when :RakeApp
    Rake.application.const_warning(const_name)
    Rake::Application
  else
    rake_original_const_missing(const_name)
  end
end

def rake_extension(method)


end
end
end
...
def xyz
rake_extension("xyz") do
class String

Usage:

block will take effect.
not added. Otherwise the block is yielded and any definitions in the
the method already exists, then a warning is printed and the extension is
Check for an existing method in the current class before extending. IF
def rake_extension(method)
  if method_defined?(method)
    $stderr.puts "WARNING: Possible conflict with Rake extension: #{self}##{method} already exists"
  else
    yield
  end
end