トップ «前の日記(2005-10-16) 最新 次の日記(2005-10-20)» 編集

3 日坊主日記


2005-10-18 [長年日記]

_ [Ruby][Rails] File.join(base, path=nil, dir)

ruby-1.8.3 で edge rails (svn head) の railties/ での rake に失敗する。

  • railties/Rakefile:
 # Make directory structure ----------------------------------------------------------------

 def make_dest_dirs(dirs, path = nil)
   mkdir_p dirs.map { |dir| File.join(PKG_DESTINATION, path, dir) }
 end

 desc "Make the directory structure for the new Rails application"
 task :make_dir_structure => [ :make_base_dirs, :make_app_dirs, :make_public_dirs, :make_test_dirs ]

 task(:make_base_dirs)   { make_dest_dirs BASE_DIRS              }
 task(:make_app_dirs)    { make_dest_dirs APP_DIRS,    'app'     }
 task(:make_public_dirs) { make_dest_dirs PUBLIC_DIRS, 'public'  }
 task(:make_test_dirs)   { make_dest_dirs TEST_DIRS,   'test'    }

path に nil がきたとき "" になる仕様に依存してる。 この辺は最近変わったっぽい。 ruby-core:5706

 -   mkdir_p dirs.map { |dir| File.join(PKG_DESTINATION, path, dir) }
 +   mkdir_p dirs.map { |dir| File.join(PKG_DESTINATION, path || '', dir) }

それより

 - def make_dest_dirs(dirs, path = nil)
 + def make_dest_dirs(dirs, path = '')

こうかな。

[]