136: def self.recmkdir(dir,mode = 0755)
137: if FileTest.exist?(dir)
138: return false
139: else
140: tmp = dir.sub(/^\//,'')
141: path = [File::SEPARATOR]
142: tmp.split(File::SEPARATOR).each { |dir|
143: path.push dir
144: if ! FileTest.exist?(File.join(path))
145: Dir.mkdir(File.join(path), mode)
146: elsif FileTest.directory?(File.join(path))
147: next
148: else FileTest.exist?(File.join(path))
149: raise "Cannot create #{dir}: basedir #{File.join(path)} is a file"
150: end
151: }
152: return true
153: end
154: end