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