bpmn 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/lib/bpmn/execution.rb +3 -3
- data/lib/bpmn/version.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95945af01ac24b3b0c6f56df110cc3ff2a346ba394f3d82fe8970bad3a1011ac
|
4
|
+
data.tar.gz: 795354fa7975265b3374ced1119761603f8b0d9a6ef69fec4dce23b089513773
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d9b1535600d854c5cc9e30f17cd6b8b5a44e7a548c7a64f82084a07f2835c20bd9584c4cf8a4a09af9eb9ca9cbad892de9e848ded58e3f828625633dd0099ec
|
7
|
+
data.tar.gz: a454d2a5c123e52ddd8475b83f7bb4862d5f3f625e3fe87533ba0bf2b4b47bee1db5dd4e5862e655350e58fd27a80e17295b2149cdd62ec5ee666e2af3c91319
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# BPMN
|
2
2
|
|
3
|
-
|
3
|
+
A workflow engine for Ruby applications based on the [BPMN](https://www.bpmn.org) standard. It executes business processes defined in a [modeler](https://camunda.com/download/modeler/). It uses [DMN](https://github.com/connectedbits/bpmn/tree/main/dmn) to evaluate business rules and [FEEL](https://github.com/connectedbits/bpmn/tree/main/feel) to evaluate expressions in the BPMN model.
|
4
4
|
|
5
5
|
## Usage
|
6
6
|
|
@@ -52,7 +52,7 @@ execution_state = execution.serialize
|
|
52
52
|
execution = BPMN.restore(sources, execution_state:)
|
53
53
|
|
54
54
|
# Now we can continue the process by `signaling` the waiting task.
|
55
|
-
step = execution.
|
55
|
+
step = execution.child_by_step_id("IntroduceYourself")
|
56
56
|
step.signal(name: "Eric", language: "it", formal: false, cookie: true)
|
57
57
|
```
|
58
58
|
|
@@ -113,7 +113,7 @@ HelloWorld started * Flow_0ws7a4m
|
|
113
113
|
This time we'll `run` the script task manually.
|
114
114
|
|
115
115
|
```ruby
|
116
|
-
step = execution.
|
116
|
+
step = execution.child_by_step_id("GenerateMessage")
|
117
117
|
step.run
|
118
118
|
```
|
119
119
|
|
@@ -176,6 +176,7 @@ $ gem install bpmn
|
|
176
176
|
```bash
|
177
177
|
$ git clone ...
|
178
178
|
$ bin/setup
|
179
|
+
$ cd bpmn
|
179
180
|
$ bin/rake
|
180
181
|
$ bin/guard
|
181
182
|
```
|
data/lib/bpmn/execution.rb
CHANGED
@@ -28,9 +28,9 @@ module BPMN
|
|
28
28
|
step_type = attributes.delete("step_type")
|
29
29
|
step = step_type == "Process" ? context.process_by_id(step_id) : context.element_by_id(step_id)
|
30
30
|
child_attributes = attributes.delete("children")
|
31
|
-
Execution.new(attributes.merge(step: step, context:)).tap do |execution|
|
31
|
+
Execution.new(attributes.merge(step: step, context: context)).tap do |execution|
|
32
32
|
execution.children = child_attributes.map do |ca|
|
33
|
-
Execution.from_json(ca, context:).tap { |child| child.parent = execution }
|
33
|
+
Execution.from_json(ca, context: context).tap { |child| child.parent = execution }
|
34
34
|
end if child_attributes
|
35
35
|
end
|
36
36
|
end
|
@@ -175,7 +175,7 @@ module BPMN
|
|
175
175
|
end
|
176
176
|
|
177
177
|
def evaluate_expression(expression, variables: parent&.variables || {}.with_indifferent_access)
|
178
|
-
DMN.evaluate(expression.delete_prefix("="), variables:)
|
178
|
+
DMN.evaluate(expression.delete_prefix("="), variables: variables)
|
179
179
|
end
|
180
180
|
|
181
181
|
def run_automated_tasks
|
data/lib/bpmn/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bpmn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Connected Bits
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-26 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: dmn
|
@@ -15,28 +15,28 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - ">="
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 0.0.
|
18
|
+
version: 0.0.4
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.0.
|
25
|
+
version: 0.0.4
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activemodel
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: '6.0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: '6.0'
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: xmlhasher
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,8 +191,8 @@ dependencies:
|
|
191
191
|
- - ">="
|
192
192
|
- !ruby/object:Gem::Version
|
193
193
|
version: '0'
|
194
|
-
description:
|
195
|
-
|
194
|
+
description: BPMN is a workflow gem for Ruby applications based on the BPMN standard.
|
195
|
+
It executes business processes and rules defined in a modeler.
|
196
196
|
email:
|
197
197
|
- info@connectedbits.com
|
198
198
|
executables: []
|
@@ -230,14 +230,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
230
230
|
requirements:
|
231
231
|
- - ">="
|
232
232
|
- !ruby/object:Gem::Version
|
233
|
-
version: '3.
|
233
|
+
version: '3.0'
|
234
234
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
235
|
requirements:
|
236
236
|
- - ">="
|
237
237
|
- !ruby/object:Gem::Version
|
238
238
|
version: '0'
|
239
239
|
requirements: []
|
240
|
-
rubygems_version: 3.6.
|
240
|
+
rubygems_version: 3.6.2
|
241
241
|
specification_version: 4
|
242
242
|
summary: A BPMN workflow engine in Ruby
|
243
243
|
test_files: []
|