lib/rbbt/rest/client.rb in rbbt-rest-1.1.2 vs lib/rbbt/rest/client.rb in rbbt-rest-1.1.3

- old
+ new

@@ -97,10 +97,13 @@ if Array === @url url, params = @url else url, params = @url, {:_cache_type => :synchronous} end + + params[:jobname] = @name if @name + case result_type when :string WorkflowRESTClient.get_raw(url, params) when :boolean WorkflowRESTClient.get_raw(url, params) == "true" @@ -182,33 +185,33 @@ def exported_tasks (@asynchronous_exports + @synchronous_exports + @exec_exports).compact.flatten end def tasks - if @tasks.nil? - @tasks = {} - exported_tasks.each do |task_name| - info = task_info(task_name) - tasks[task_name.to_sym] = Task.setup info do |*args| - raise "This is a remote task" - end - tasks[task_name.to_sym].name = task_name.to_sym + @tasks ||= Hash.new do |hash,task_name| + info = task_info(task_name) + task = Task.setup info do |*args| + raise "This is a remote task" end - @tasks + task.name = task_name.to_sym + hash[task_name] = task end - @tasks end + def load_tasks + exported_tasks.each{|name| tasks[name]} + nil + end + def task_dependencies - if @task_dependencies.nil? - @task_dependencies = {} - exported_tasks.each do |task| - task_dependencies[task] = WorkflowRESTClient.get_json(File.join(url, task.to_s, 'dependencies')) + @task_dependencies ||= Hash.new do |hash,task| + hash[task] = if exported_tasks.include? task + WorkflowRESTClient.get_json(File.join(url, task.to_s, 'dependencies')) + else + [] end - @task_dependencies end - @task_dependencies end def rec_dependencies(taskname) if task_dependencies.include? taskname deps = task_dependencies[taskname].select{|dep| String === dep or Symbol === dep} @@ -273,9 +276,10 @@ puts " " << task.description if task.description and not task.description.empty? puts end else + ddd task if Task === task task_name = task.name else task_name = task task = self.tasks[task_name]