Sha256: f7a3ee954b52fa8367bd25891dd7bc5c9cb299c541d4a4e7469f2e63e81607ba
Contents?: true
Size: 1017 Bytes
Versions: 7
Compression:
Stored size: 1017 Bytes
Contents
require 'rbbt/workflow' require 'rbbt/workflow/examples' module Workflow module Data def data(directory) @@data_directory = directory end def get_datadir(clean_name) data_dir = File.join(@@data_directory, clean_name) raise "Data dir not found #{data_dir}" unless File.directory?(data_dir) if Path === @@data_directory @@data_directory.annotate data_dir else Path.setup(data_dir) end end def data_task(name, workflow, oname, *rest, &block) dep_task(name, workflow, oname, *rest) do |jobname, options| data_dir = self.get_datadir(jobname) task_info = workflow.task_info(oname) dir_options = Workflow.load_inputs(data_dir.options, task_info[:inputs], task_info[:input_types]) data_options = block.call data_dir, dir_options, task_info if data_options.include?(:inputs) data_options else {:inputs => data_options.merge(options)} end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems