Walking a directory tree

  1. $KCODE='SJIS'
  2. require 'test/unit'
  3. require 'find'
  4. require 'fileutils'
  5. class ListFile
  6.         attr_reader :info
  7.         def all(prefix="SJT",ord="9057")
  8.         #recursive walk this dir. as for network directory,it need to be maped to local disk
  9.         to="H://#{prefix}-#{ord}//納品物//"        
  10.         @info={}
  11.         @cm=[]
  12.         @html=[]
  13.         @java=[]
  14.         @view=[]
  15.         @prc=[]
  16.         @js=[]
  17.         return unless FileTest.exist?(to)
  18.         Find.find( to ) do |a|
  19.         next unless FileTest.file?(a)
  20.         [".java",".htm",".sql",".js",".tom"].each{|src|
  21.                 if(a=~/#{src}/)
  22.                 a=File.basename(a)
  23.                 @cm.push(a)
  24.                 @html.push(a) if (src==".htm" || src==".html")
  25.                 @java.push(a) if (src==".java")
  26.                 @js.push(a) if (src==".js")
  27.                 #USR_TG01GN.PRC_新提携会員別残高ワーク月末処理.sql
  28.                 if (src==".sql")
  29.                 if(a=~/USR_/w/w/d/d/w/w/.PRC.*/.sql/)
  30.                         @view.push(a)
  31.                 else
  32.                         @prc.push(a)
  33.                 end
  34.                 end
  35.                 end
  36.         }
  37.         end
  38.         @info["fill"]="true"
  39.         @info["prc"]=@prc
  40.         @info["java"]=@java
  41.         @info["html"]=@html
  42.         @info["js"]=@js
  43.         @info["view"]=@view
  44.         @info["cm"]=@cm
  45.         #puts "prc=#{@prc.size} view= #{@view.size} java=#{@java.size} html=#{@html.size}"
  46.         return @info
  47.         end
  48. end
  49. class ListFileTest < Test::Unit::TestCase
  50.         def test_invalidfolder
  51.         l=ListFile.new
  52.         l.all("invalid")
  53.         assert_nil l.info["fill"]
  54.         end
  55.         def test_validfolder
  56.         l=ListFile.new
  57.         l.all("JDT","0027")
  58.         assert_equal 1, l.info["java"].size
  59.         end
  60. end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值