From: Minero Aoki Date: 2000-08-07T16:21:20+09:00 Subject: [ruby-dev:10595] fileutils.rb (2) あおきです。 fileutils.rb 修正一版のパッチです。 ------------------------------------------------------------------- あおきみねろう Index: fileutils.rb =================================================================== RCS file: /home/aamine/cvs/etc/fileutils.rb,v retrieving revision 1.1 retrieving revision 1.3 diff -u -r1.1 -r1.3 --- fileutils.rb 2000/07/31 10:50:39 1.1 +++ fileutils.rb 2000/08/06 17:59:53 1.3 @@ -27,7 +27,7 @@ gets name of working dirctory. same to Dir.pwd ----- is_newer?( newer, *older ) +---- newest?( newer, *older ) ---- uptodate?( newer, *older ) checks if "newer" is newer than all "older". @@ -107,6 +107,14 @@ module FileUtils + def self.modfunc_alias( new, old ) + module_eval %^ + alias #{new.id2name} #{old.id2name} + module_function :#{new.id2name} + ^ + end + + # # FileUtils::Normal # @@ -130,16 +138,16 @@ end end - alias chdir cd + modfunc_alias :chdir, :cd def pwd Dir.pwd end - alias getwd pwd + modfunc_alias :getwd, :pwd - def is_newer?( new, *fnames ) + def newest?( new, *fnames ) fnames.each do |old| return false unless FileTest.exist? new return false unless File.ctime(new) >= File.ctime(old) @@ -147,9 +155,9 @@ true end - alias uptodate? is_newer? + modfunc_alias :uptodate?, :newest? - def is_older?( old, *fnames ) + def oldest?( old, *fnames ) fnames.each do |old| return true unless FileTest.exist? old return false unless File.ctime(new) >= File.ctime(old) @@ -303,7 +311,7 @@ false end - alias identical? cmp + modfunc_alias :identical?, :cmp def install( from, to, mode = nil ) dest = FUPrivate.destfn( from, to ) @@ -480,25 +488,6 @@ attr_accessor :fileutils_label - module_function - - - def cd( dirname, verbose = true, &block ) - futilsmsg "cd #{dirname}" if verbose - (@fileutils_op ||= FileUtils::Normal).cd dirname, &block - futilsmsg "cd #{Dir.pwd}" if verbose and block - end - - alias chdir cd - - def pwd( verbose = true ) - futilsmsg 'pwd' if verbose - Dir.pwd - end - - alias getwd pwd - - class << self def delegate( name ) name = name.id2name @@ -516,16 +505,43 @@ module_function :#{name} ^ end + + def modfunc_alias( new, old ) + module_eval %{ + alias #{new.to_s} #{old.to_s} + module_function :#{new.to_s} + } + end end + + + module_function + + + def cd( dirname, verbose = true, &block ) + futilsmsg "cd #{dirname}" if verbose + (@fileutils_op ||= FileUtils::Normal).cd dirname, &block + futilsmsg "cd #{Dir.pwd}" if verbose and block + end + + modfunc_alias :chdir, :cd + + def pwd( verbose = true ) + futilsmsg 'pwd' if verbose + Dir.pwd + end + + modfunc_alias :getwd, :pwd + - delegate :is_newer? - delegate :is_older? - alias uptodate? is_newer? + delegate :newest? + delegate :oldest? + delegate :uptodate? delegate :mkdir delegate :mkdir_p + delegate :mkpath delegate :rmdir - alias mkpath mkdir_p delegate :ln delegate :ln_s @@ -542,7 +558,7 @@ (@fileutils_op ||= FileUtils::Normal).cmp a, b end - alias identical? cmp + modfunc_alias :identical?, :cmp def install( from, to, mode = nil, verbose = true ) futilsmsg "install #{mode ? '%o ' % mode : ''}#{from} #{to}" if verbose @@ -596,8 +612,8 @@ delegate :pwd ,true delegate :getwd ,true delegate :uptodate? ,true - delegate :is_newer? ,true - delegate :is_older? ,true + delegate :newest? ,true + delegate :oldest? ,true delegate :mkdir ,false delegate :mkdir_p ,false delegate :ln ,false