cpee 2.1.108 → 2.1.109
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/cpee.gemspec +1 -1
- data/server/executionhandlers/eval/connection.rb +21 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cb5004fe53cd5de27b756835cde118bc7eb7f0a8231478d544bd84e1c5ff6408
|
|
4
|
+
data.tar.gz: f4940048028217a3d0a21efbe06a76a081792f02e5010a13591908af83732ab2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d8381762bccbeeb16254c8b26b754b8f369a17d16d323b594cf6d8f04ecebfd43a600764d2babeb26b7663a11c9c39abd2a82d05e352817693c0d063c8f4cf1
|
|
7
|
+
data.tar.gz: 70c84b57562d54acf06d4d3567b8ec99b3f2c5648bc137d07b0109f7124f1a6a340db42b9491fe380cf02f6329a4ea3f9cf025cb46263d0fb57f75f4b9194c05
|
data/cpee.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cpee"
|
|
3
|
-
s.version = "2.1.
|
|
3
|
+
s.version = "2.1.109"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3.0-or-later"
|
|
6
6
|
s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
|
|
@@ -329,6 +329,24 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
329
329
|
GC.start
|
|
330
330
|
end #}}}
|
|
331
331
|
|
|
332
|
+
def argument_transform_value(obj, struct)
|
|
333
|
+
return nil unless obj.is_a?(Array) || obj.is_a?(Hash) || obj.is_a?(WEEL::ProcString)
|
|
334
|
+
case obj
|
|
335
|
+
when Hash
|
|
336
|
+
obj.each { |k, v| ret = argument_transform_value(v, struct); obj[k] = ret unless ret.nil? }
|
|
337
|
+
nil
|
|
338
|
+
when Array
|
|
339
|
+
obj.each_with_index { |v,i| ret = argument_transform_value(v, struct); obj[i] = ret unless ret.nil? }
|
|
340
|
+
nil
|
|
341
|
+
when WEEL::ProcString
|
|
342
|
+
argument_eval obj.code, struct
|
|
343
|
+
end
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
def argument_eval(__code,__struct)
|
|
347
|
+
__struct.instance_eval __code, 'Parameter', 1
|
|
348
|
+
end
|
|
349
|
+
|
|
332
350
|
def prepare(__lock,__dataelements,__endpoints,__status,__local,__additional,__code,__exec_endpoints,__exec_parameters) #{{{
|
|
333
351
|
__struct = if __code
|
|
334
352
|
manipulate(true,__lock,__dataelements,__endpoints,__status,__local,__additional,__code,'Parameter')
|
|
@@ -345,7 +363,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
345
363
|
__params[:arguments]&.map! do |__ele|
|
|
346
364
|
__tmp = __ele.dup
|
|
347
365
|
if __tmp.value.is_a?(WEEL::ProcString)
|
|
348
|
-
__tmp.value =
|
|
366
|
+
__tmp.value = argument_eval(__tmp.value.code, __struct)
|
|
367
|
+
elsif __tmp.value.is_a?(Array) || __tmp.value.is_a?(Hash)
|
|
368
|
+
argument_transform_value __tmp.value, __struct
|
|
349
369
|
end
|
|
350
370
|
__tmp
|
|
351
371
|
end
|