Sha256: ec59f34f5fb438295c712ddb3a1542210da4810c89728549f1e43763a795cf3b
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
require 'rake/task' require 'rake/file_task' require 'rake/file_creation_task' require 'rake/application' require 'rake/task_manager' ###################################################################### # Rake extensions to Module. # 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 # Rename the original handler to make it available. alias :rake_original_const_missing :const_missing # Check for deprecated uses of top level (i.e. in Object) uses of # Rake class names. If someone tries to reference the constant # name, display a warning and return the proper object. Using the # --classic-namespace command line option will define these # constants in Object and avoid this handler. 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 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jimweirich-rake-0.8.5 | lib/rake/ext/module.rb |