Sha256: a7bfb68e37185a7789552feeb9031d6da5883fb5208adc582924664203b240c8

Contents?: true

Size: 790 Bytes

Versions: 1

Compression:

Stored size: 790 Bytes

Contents

class Camunda::Task < Camunda::Model
  include Camunda::VariableSerialization
  collection_path 'task'

  def self.find_by_business_key_and_task_definition_key!(instance_business_key, task_key)
    find_by(processInstanceBusinessKey: instance_business_key, taskDefinitionKey: task_key).tap do |ct|
      unless ct
        raise MissingTask, "Could not find Camunda Task with processInstanceBusinessKey: #{instance_business_key} " \
              "and taskDefinitionKey #{task_key}"
      end
    end
  end

  def complete!(vars={})
    self.class.post_raw("#{self.class.collection_path}/#{id}/complete", variables: serialize_variables(vars))[:response]
        .tap do |response|
      raise MissingTask unless response.success?
    end
  end

  class MissingTask < StandardError
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
camunda-workflow-0.1.2 lib/camunda/task.rb