Sha256: 2089b4e995c6b196bf3239789b2987468789796416940819b55036d867a94e83

Contents?: true

Size: 1.19 KB

Versions: 29

Compression:

Stored size: 1.19 KB

Contents

require 'rest_client'
require 'json'
require 'rbbt/workflow'
require 'rbbt/workflow/step'
require 'rbbt/util/misc'

require 'rbbt/rest/client/get'
require 'rbbt/rest/client/adaptor'
require 'rbbt/rest/client/step'

class WorkflowRESTClient 
  include Workflow

  attr_accessor :url, :name, :exec_exports, :asynchronous_exports, :synchronous_exports

  def initialize(url, name)
    Log.debug{ "Loading remote workflow #{ name }: #{ url }" }
    @url, @name = url, name
    init_remote_tasks
  end
  
  def to_s
    name
  end

  def job(task, name, inputs)
    task_info = task_info(task)
    fixed_inputs = {}
    inputs.each do |k,v| 
      fixed_inputs[k] = case v
                        when TSV
                          v.to_s
                        else
                          v
                        end
    end

    RemoteStep.new(url, task, name, fixed_inputs, task_info[:result_type], task_info[:result_description], @exec_exports.include?(task))
  end

  def load_id(id)
    task, name = id.split("/")
    step = RemoteStep.new url, task, nil
    step.name = name
    step.result_type = task_info(task)[:result_type]
    step.result_description = task_info(task)[:result_description]
    step
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
rbbt-rest-1.3.31 lib/rbbt/rest/client.rb
rbbt-rest-1.3.30 lib/rbbt/rest/client.rb
rbbt-rest-1.3.29 lib/rbbt/rest/client.rb
rbbt-rest-1.3.28 lib/rbbt/rest/client.rb
rbbt-rest-1.3.27 lib/rbbt/rest/client.rb
rbbt-rest-1.3.26 lib/rbbt/rest/client.rb
rbbt-rest-1.3.25 lib/rbbt/rest/client.rb
rbbt-rest-1.3.24 lib/rbbt/rest/client.rb
rbbt-rest-1.3.23 lib/rbbt/rest/client.rb
rbbt-rest-1.3.22 lib/rbbt/rest/client.rb
rbbt-rest-1.3.21 lib/rbbt/rest/client.rb
rbbt-rest-1.3.20 lib/rbbt/rest/client.rb
rbbt-rest-1.3.19 lib/rbbt/rest/client.rb
rbbt-rest-1.3.18 lib/rbbt/rest/client.rb
rbbt-rest-1.3.17 lib/rbbt/rest/client.rb
rbbt-rest-1.3.16 lib/rbbt/rest/client.rb
rbbt-rest-1.3.15 lib/rbbt/rest/client.rb
rbbt-rest-1.3.14 lib/rbbt/rest/client.rb
rbbt-rest-1.3.13 lib/rbbt/rest/client.rb
rbbt-rest-1.3.12 lib/rbbt/rest/client.rb