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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 360f0ae54376a01dc9d31257fcf9de7ece89f12837be7e26a7000a221025de66
4
- data.tar.gz: e897607c38bd2ea67c1fe637ff5c88fc4cf2387ba61cbdbbcc90259ec9be6ebd
3
+ metadata.gz: cb5004fe53cd5de27b756835cde118bc7eb7f0a8231478d544bd84e1c5ff6408
4
+ data.tar.gz: f4940048028217a3d0a21efbe06a76a081792f02e5010a13591908af83732ab2
5
5
  SHA512:
6
- metadata.gz: 95f6e48d23fe7208dce29d7bbda4dc0e4dd330acd9e91db58bb56872fa695e78a3fac56cce6dc0d14b433df320e4f17a95cb6d7c2aa63e6b27debfb6739e7ee5
7
- data.tar.gz: 43d9d9fe7a048f973c59b40e8ff3938690862e74d3a5b96be72bd4c0c74f558cb313865fbca2e0d24ae1631a32c1be0d5c9fc95867d7571d05c7a18cb63d11c4
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.108"
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 = __struct.instance_eval __tmp.value.code, 'Parameter', 1
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.108
4
+ version: 2.1.109
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler