camunda-workflow 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c08d0a47fdc375095f8a12a412e8fd338cba6c01de753777a2c007a184d6caa
4
- data.tar.gz: 34141274cb6a630312651883a7502819e9b236fb870275a82d9561f4adae6561
3
+ metadata.gz: 258061e8801a974e302c84e184e90c60771aea045ac8ac51bd92afdcbfc4acc9
4
+ data.tar.gz: 9aa801c96ff96951ce08f7ed35d69d36772b9122aa4ac51addf62979ad7b63d5
5
5
  SHA512:
6
- metadata.gz: aa811d101d80ea3e5bd6408c17e28215118a2c223d469bb9e60a7f8ad5ebcc991264fb3f19cd31a2a6f5fccc8f5e085220e04421fd4fa183327297fb18a28535
7
- data.tar.gz: 833f866515b6555a0e05f893aef5d3a6603b6f933708ed5b77641fb8d9b4db4b06935bb632ef04973097a013fdc7a35858a0d1d8d918f3f0c680f616f4ca1c29
6
+ metadata.gz: 8e77b9f038bad10d3e3606a4dc9ee3e594c050006dcaa0018733f41fc3f37d13db6392d3e76b15e1b88362b6623433e8495e664fa294e9197db849da7d71598e
7
+ data.tar.gz: 3769a359d104c320094b44a33b4145caa7d36cf4b96b5054d6df452325973ea0ec4efc3903ef180488bf112e90c3840fa94ca95f72ca2db97ac515a646d7e546
data/CHANGELOG.md CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  **Merged pull requests:**
8
8
 
9
+ - Correct find\_by\_business\_key\_and\_task\_definition\_key! [\#5](https://github.com/amalagaura/camunda-workflow/pull/5) ([amalagaura](https://github.com/amalagaura))
9
10
  - added authentication via templates for spring\_boot generator and Her [\#4](https://github.com/amalagaura/camunda-workflow/pull/4) ([curatingbits](https://github.com/curatingbits))
10
11
  - Refactor to return proper Her models after responses [\#3](https://github.com/amalagaura/camunda-workflow/pull/3) ([amalagaura](https://github.com/amalagaura))
11
12
  - Added tests for Camunda workflow [\#2](https://github.com/amalagaura/camunda-workflow/pull/2) ([curatingbits](https://github.com/curatingbits))
@@ -17,11 +17,11 @@ class Camunda::ExternalTask < Camunda::Model
17
17
  Camunda::Workflow.configuration.lock_duration.in_milliseconds
18
18
  end
19
19
 
20
- def failure(exception, input_variables)
21
- variables_information = "Input variables are #{input_variables.inspect}\n\n"
20
+ def failure(exception, input_variables={})
21
+ variables_information = "Input variables are #{input_variables.inspect}\n\n" if input_variables.present?
22
22
  self.class.post_raw("#{collection_path}/#{id}/failure",
23
23
  workerId: worker_id, errorMessage: exception.message,
24
- errorDetails: variables_information + exception.full_message)[:response]
24
+ errorDetails: variables_information.to_s + exception.full_message)[:response]
25
25
  end
26
26
 
27
27
  def bpmn_error(bpmn_exception)
@@ -33,6 +33,9 @@ class Camunda::ExternalTask < Camunda::Model
33
33
  def complete(variables={})
34
34
  self.class.post_raw("#{collection_path}/#{id}/complete",
35
35
  workerId: worker_id, variables: serialize_variables(variables))[:response]
36
+ .tap do |response|
37
+ raise SubmissionError, response.body[:data][:message] unless response.success?
38
+ end
36
39
  end
37
40
 
38
41
  def worker_id
@@ -80,4 +83,7 @@ class Camunda::ExternalTask < Camunda::Model
80
83
  raise Camunda::MissingImplementationClass, task_class_name unless klass
81
84
  end
82
85
  end
86
+
87
+ class SubmissionError < StandardError
88
+ end
83
89
  end
@@ -7,6 +7,9 @@ module Camunda::ExternalTaskJob
7
7
  report_completion id, output_variables
8
8
  rescue Camunda::BpmnError => e
9
9
  report_bpmn_error id, e
10
+ rescue Camunda::ExternalTask::SubmissionError => e
11
+ # We re-raise this so it is not rescued below
12
+ raise e
10
13
  rescue StandardError => e
11
14
  report_failure id, e, input_variables
12
15
  end
@@ -2,7 +2,11 @@ class Camunda::Poller
2
2
  def self.fetch_and_execute(topics, lock_duration: nil, long_polling_duration: nil)
3
3
  loop do
4
4
  Camunda::ExternalTask
5
- .fetch_and_lock(topics, lock_duration: lock_duration, long_polling_duration: long_polling_duration).each(&:queue_task)
5
+ .fetch_and_lock(topics, lock_duration: lock_duration, long_polling_duration: long_polling_duration).each do |task|
6
+ task.queue_task
7
+ rescue Camunda::MissingImplementationClass => e
8
+ task.failure(e)
9
+ end
6
10
  end
7
11
  end
8
12
  end
data/lib/camunda/task.rb CHANGED
@@ -14,10 +14,13 @@ class Camunda::Task < Camunda::Model
14
14
  def complete!(vars={})
15
15
  self.class.post_raw("#{self.class.collection_path}/#{id}/complete", variables: serialize_variables(vars))[:response]
16
16
  .tap do |response|
17
- raise MissingTask unless response.success?
17
+ raise SubmissionError, response.body[:data][:message] unless response.success?
18
18
  end
19
19
  end
20
20
 
21
21
  class MissingTask < StandardError
22
22
  end
23
+
24
+ class SubmissionError < StandardError
25
+ end
23
26
  end
@@ -1,5 +1,5 @@
1
1
  module Camunda
2
2
  module Workflow
3
- VERSION = '0.1.2'.freeze
3
+ VERSION = '0.1.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camunda-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ankur Sethi
@@ -129,14 +129,28 @@ dependencies:
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 0.75.1
132
+ version: '0.77'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.75.1
139
+ version: '0.77'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rubocop-rspec
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 1.37.0
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 1.37.0
140
154
  - !ruby/object:Gem::Dependency
141
155
  name: simplecov
142
156
  requirement: !ruby/object:Gem::Requirement