現在、rake ファイルを分割して整理しようとしています。このために、タスクのグループごとに 1 つの rake ファイルを保持するrake
フォルダーをディレクトリに追加しました。assets
私は PHP から来たので、Ruby/Rake のごく基本的な知識しかなく、ファイルをロードした後に名前空間のデフォルト アクションを実行できません。
Rake :: Task ...
内部でコメントアウトされた -stringはapp:init
、CL でエラーをスローします。
rake aborted! uninitialized constant TASK
これが名前空間/クラスです (これが正しい言葉である場合)。
task :default => [ 'app:init' ]
namespace :app do
rake_dir = "#{Dir.pwd}/assets/rake/"
rake_files = FileList.new( "#{rake_dir}*" )
desc "Loads rake modules (Default action)"
task :init do
puts "\t Importing rake files for processing"
puts "\t loading..."
rake_files.each() { |rake|
puts "\t #{rake}"
require rake
# @link rubular.com
name = rake.split( rake_dir ).last.gsub( /.rb\z/, '' )
puts "\t #{name}"
#Rake :: Task[ "#{name}:default" ].invoke
}
end
end
前もって感謝します。
編集:少なくとも、puts "file loaded"
これらのファイルの先頭にあるプレーンがエコーされるため、ファイルがロードされることを確認できます。問題は、ロードされた rake ファイルの名前空間のアクションがロードされていないことだけのようです。:default