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

Version Path
rbbt-util-5.32.22 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.21 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.20 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.18 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.17 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.16 lib/rbbt/workflow/util/data.rb
rbbt-util-5.32.15 lib/rbbt/workflow/util/data.rb