Hello,
I'm checking some implemented code and I've seen something like that:
----------------------- RAKEFIKE ---------------------------------
$:.unshift File.dirname(__FILE__)+"/rake"
require 'rake'
require 'rakeTest'
task :default => [:Where, RakeTasks.create ]
task :Where do
puts "Welcome to the rakefile"
end
------------------- TESTFILE ------------------------------------
module RakeTasks
def self.create
puts "--Execute task1"
Task1.create
puts "--Execute task2"
Task2.create
task :end =>[:die]
end
module Task1
def self.create
puts "Hello World"
task :die do
puts "I want to die"
end
end
end
module Task2
def self.create
puts "I'm growing"
end
end
end
···
---------------------------------------------------------------
The output for that is:
c:\Programs\checkingRuby>rake
(in c:/Programs/checkingRuby)
--Execute task1
Hello World
--Execute task2
I'm growing
Welcome to the rakefile
I want to die
But with the same test file only modifying the Rakefile as follows:
----------------------- RAKEFIKE ---------------------------------
$:.unshift File.dirname(__FILE__)+"/rake"
require 'rake'
require 'rakeTest'
task :default => [:Where,RakeTasks.create,RakeTasks::Task1.create ]
task :Where do
puts "Welcome to the rakefile"
end
-------------------------------------------------------------------
The output is:
c:\Programs\checkingRuby>rake
(in c:/Programs/checkingRuby)
--Execute task1
Hello World
--Execute task2
I'm growing
Hello World
Welcome to the rakefile
I want to die
I want to die
So, I don't understand how the calls are queued before being executed.
In both cases it starts with the classes task1 and task2 but the task
Where is executed always after the classes even though the call inside
the hash is declared before, same case is happening with the execution
of the task die although it is defined at the end of the hash.
Could anybody explain me how ruby is queuing or organizing the tasks or
just attach a reference to be reviewed? The only documentation I found
didn't take into account nested tasks execution.
Thanks a lot!
--
Posted via http://www.ruby-forum.com/.