cpee-eval-ruby 1.0.8 → 1.0.10

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: 84fc79790dae3221f52506e89cac2873c3b87df3b453f28fcf66e6274fbbe9ed
4
- data.tar.gz: 024a8c81054a23b338d794898fa8f459f6b603eca6aa53fab2c507d414243c35
3
+ metadata.gz: 7dca0a648023beda43a3bdbb31753255a07be61291230c143341823b7af4bdbe
4
+ data.tar.gz: 107b9f6f5421219fc87cfcd7da03a9e45e18dc0bbf5c26a44b6154d0167095fc
5
5
  SHA512:
6
- metadata.gz: e24df120022480933494c3040f9e47589a6bb410433e152a89a91d14c9ff5e5b564f63bf341b53db84e72ab6515df36d437493103dbb1c0be94cb19bb06a0e40
7
- data.tar.gz: 7d9d35d776ea27611803bbd3a20ea5635b0c2027df74e885ae52e21e48df0ce1d8386fd8becc6567007efa1e573d7c070db059e0370a30c586b05e9b436a9b6b
6
+ metadata.gz: db0cf5c65638d058a386f6e351b03395ff7e8b2a600184aa48363b157631e0a9122624cd189f299dff419d2fc38d0b55bebc5b8e6f9f8b8d85163854f3113955
7
+ data.tar.gz: d819ea7b8db051e7ed55f296c1031fd346295c55606bcba37e8165390d4d39a169cca280d3e3f40bd80761f430566fb6d6ae0aa717aa5b575e2c6bbc10739d86
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee-eval-ruby"
3
- s.version = "1.0.8"
3
+ s.version = "1.0.10"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "Ruby eval for the cloud process execution engine (cpee.org)"
@@ -25,6 +25,7 @@ require 'redis'
25
25
  require 'json'
26
26
  require 'weel'
27
27
  require 'charlock_holmes'
28
+ require 'timeout'
28
29
  require_relative 'translation'
29
30
 
30
31
  module CPEE
@@ -36,15 +37,17 @@ module CPEE
36
37
  def exec(__struct,__code,result=nil,headers=nil)
37
38
  __ret = {}
38
39
  __cat = catch WEEL::Signal::Again do
39
- __ret[:res] = JSON::generate(__struct.instance_eval(__code))
40
+ Timeout.timeout(7) do
41
+ __ret[:res] = JSON::generate(__struct.instance_eval(__code))
42
+ end
40
43
  WEEL::Signal::Proceed
41
44
  end
42
45
  if __cat.nil? || __cat == WEEL::Signal::Again
43
46
  __ret[:signal] << 'Signal::Again'
44
47
  end
45
- rescue => err
48
+ rescue Timeout::Error
46
49
  __ret[:signal] = 'Signal::Error'
47
- __ret[:signal_text] = (err.backtrace ? err.backtrace[0].gsub(/([\w -_]+):(\d+):in.*/,'\\1, Line \2: ') : '') + err.message
50
+ __ret[:signal_text] = 'Your code took longer than 7 seconds'
48
51
  rescue WEEL::Signal::Again
49
52
  __ret[:signal] = 'Signal::Again'
50
53
  rescue WEEL::Signal::Error => err
@@ -55,6 +58,9 @@ module CPEE
55
58
  rescue SyntaxError => err
56
59
  __ret[:signal] = 'Signal::SyntaxError'
57
60
  __ret[:signal_text] = err.message
61
+ rescue => err
62
+ __ret[:signal] = 'Signal::Error'
63
+ __ret[:signal_text] = (err.backtrace ? err.backtrace[0].gsub(/([\w -_]+):(\d+):in.*/,'\\1, Line \2: ') : '') + err.message
58
64
  ensure
59
65
  return __ret
60
66
  end
@@ -93,6 +99,7 @@ module CPEE
93
99
  send << Riddl::Parameter::Simple.new('signal',execresult[:signal])
94
100
  send << Riddl::Parameter::Simple.new('signal_text',execresult[:signal_text] || '')
95
101
  @status = 555
102
+ return send
96
103
  end
97
104
 
98
105
  res = {}
@@ -117,7 +124,7 @@ module CPEE
117
124
  struct = WEEL::ReadStructure.new(dataelements,endpoints,local,additional)
118
125
  execresult = exec struct, code
119
126
  send = []
120
- send << Riddl::Parameter::Complex.new('result','application/json',execresult[:res])
127
+ send << Riddl::Parameter::Complex.new('result','application/json',execresult[:res] || '')
121
128
  if execresult[:signal]
122
129
  send << Riddl::Parameter::Simple.new('signal',execresult[:signal])
123
130
  send << Riddl::Parameter::Simple.new('signal_text',execresult[:signal_text] || '')
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee-eval-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
8
- autorequire:
9
8
  bindir: tools
10
9
  cert_chain: []
11
- date: 2024-12-04 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: riddl
@@ -55,13 +54,11 @@ files:
55
54
  - lib/cpee-eval-ruby/implementation.xml
56
55
  - lib/cpee-eval-ruby/translation.rb
57
56
  - server/eval-ruby
58
- - server/eval-ruby.pid
59
57
  - tools/cpee-eval-ruby
60
58
  homepage: http://cpee.org/
61
59
  licenses:
62
60
  - LGPL-3.0-or-later
63
61
  metadata: {}
64
- post_install_message:
65
62
  rdoc_options: []
66
63
  require_paths:
67
64
  - lib
@@ -76,8 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
73
  - !ruby/object:Gem::Version
77
74
  version: '0'
78
75
  requirements: []
79
- rubygems_version: 3.5.16
80
- signing_key:
76
+ rubygems_version: 3.6.9
81
77
  specification_version: 4
82
78
  summary: Ruby eval for the cloud process execution engine (cpee.org)
83
79
  test_files: []
data/server/eval-ruby.pid DELETED
@@ -1 +0,0 @@
1
- 934659