Sha256: c417cb39e81a465628cde59d23d07c02ebae4145266ec6a2217de97104ed235c

Contents?: true

Size: 873 Bytes

Versions: 1

Compression:

Stored size: 873 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 SubmissionError, response.body[:data][:message] unless response.success?
    end
  end

  class MissingTask < StandardError
  end

  class SubmissionError < StandardError
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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