Actuellement, j'essaie de scinder mes fichiers de rake pour mieux les organiser. Pour cela, j'ai ajouté un dossier rake
à mon dossier assets
, qui contient un fichier râteau pour chaque groupe de tâches.Charger des fichiers de rake et exécuter des tâches à partir d'autres fichiers
Comme je viens de PHP, je n'ai que très basique connaissance de Ruby/Rake et ne peut pas obtenir l'action par défaut de mes espaces de noms en cours d'exécution après le chargement du fichier.
Le commmented sur Rake :: Task ...
-string l'intérieur app:init
renvoie une erreur au CL me:
rake aborted! uninitialized constant TASK
est ici l'espace de noms/classe (si tel est le mot juste).
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
Merci d'avance.
Edit: Au moins, je peux être sûr que le fichier est chargé, comme puts "file loaded"
plaine au début de ces fichiers se fait l'écho. Le problème semble seulement être que l'action :default
pour l'espace de noms dans le fichier Rake chargé ne charge pas.
Je ne savais pas à ce sujet. Merci! – Andrew
Une amélioration: Vous pouvez mentionner que les fichiers individuels peuvent facilement être chargés en utilisant 'load 'file.rb" '. Alors cela devrait être la réponse acceptée. – Overbryd
Cette réponse devrait être protégée. Je n'ai jamais entendu parler de ce répertoire 'rakelib /' – Pred