lib/remi/job.rb in remi-0.3.0 vs lib/remi/job.rb in remi-0.3.1
- old
+ new
@@ -269,21 +269,23 @@
def inspect
"#<#{Remi::Job}>: #{self.class}\n" +
" parameters: #{params.to_h.keys}\n" +
" sources: #{sources}\n" +
" targets: #{targets}\n" +
- " transforms: #{transforms}"
+ " transforms: #{transforms}\n" +
+ " sub_jobs: #{sub_jobs}"
end
# Execute the specified components of the job.
#
# @param components [Array<symbol>] list of components to execute (e.g., `:transforms`, `:load_targets`)
#
# @return [self]
def execute(*components)
execute_transforms if components.empty? || components.include?(:transforms)
+ execute_sub_jobs if components.empty? || components.include?(:sub_jobs)
execute_load_targets if components.empty? || components.include?(:load_targets)
self
end
private
@@ -329,9 +331,15 @@
end
# Loads all targets defined
def execute_load_targets
targets.each { |t| send(t).load }
+ self
+ end
+
+ # Executes all subjobs (not already executed)
+ def execute_sub_jobs
+ sub_jobs.each { |sj| send(sj).execute }
self
end
# Adds all parameters listed to the job parameters
def add_params(**kargs)