В настоящее время я пытаюсь разделить свои рейк-файлы, чтобы лучше организовать их. Для этого я добавил папку rake
в свою директорию assets
, которая содержит один rake-файл для каждой группы задач.
Поскольку я перешел с PHP, у меня есть только очень базовые знания о Ruby/Rake, и я не могу запустить действие по умолчанию для пространства имен после загрузки файла.
Закомментированная Rake :: Task ...
-строка внутри 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"
в начале этих файлов повторяется. Проблема кажется только в том, что действие :default
для пространства имен в загруженном файле rake не загружается.