weel 1.99.151 → 1.99.152

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/weel.rb +12 -10
  3. data/weel.gemspec +3 -1
  4. metadata +29 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0405b0d78d17afd88497d992ce42aa2dd1be508c51988926a532ce1ac688c69
4
- data.tar.gz: b0913081c1722962f5657f4a99fa99bb84d67629686c6def539c45df858d94e6
3
+ metadata.gz: ed4f1a775cedcecc09578a62171ba6863e93aa1673d6dcdf034f602eda254775
4
+ data.tar.gz: de72379627d358b6b85f534d9a87a7230f9c6744c3307c91dbe091e5e85215b4
5
5
  SHA512:
6
- metadata.gz: 03bce06826853dffd3757d7c1a02d92126bae53aa9ae835208d5594b01824a2a77f1bf0020fadd2cef07e9103641712ce1f20fab7ec9985fac46bf91a3e3c230
7
- data.tar.gz: 72efa2dce42643370ec6de96f7451602c0f35854a61b9353d1a00c44328e7e971d8c891575f34826ac8611f19891d5ce9172353598845fdf280beaa27c722745
6
+ metadata.gz: 58a3065a056466077c56a8504b7f31cb7f3a33f6e9c476560f6f6ebc52ea22658cfa028c76de0560637e1740d8ea932f4673491f1084a4cdb73303aef2b23046
7
+ data.tar.gz: 7a1a2c31fc15379d2163d55d9a8edd3283b3e0687f824ac65357d894182551be46639fde70e51354e61d02d09f14f7a7a8fd57d9db4db5f6787c0beabd879d3a
data/lib/weel.rb CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  require 'thread'
18
18
  require 'securerandom'
19
+ require 'active_support/core_ext/object/deep_dup'
20
+ require 'msgpack'
19
21
 
20
22
  class WEEL
21
23
  def initialize(*args)# {{{
@@ -50,7 +52,7 @@ class WEEL
50
52
  v.root.to_doc
51
53
  else
52
54
  begin
53
- Marshal.load(Marshal.dump(v))
55
+ v.deep_dup
54
56
  rescue
55
57
  v.to_s rescue nil
56
58
  end
@@ -72,7 +74,7 @@ class WEEL
72
74
  def method_missing(m,*args,&block)
73
75
  if @additional.include?(m)
74
76
  begin
75
- tmp = Marshal.load(Marshal.dump(@additional[m]))
77
+ tmp = @additional[m].deep_dup
76
78
  if tmp.is_a? Hash
77
79
  ReadHash.new(tmp)
78
80
  else
@@ -105,9 +107,9 @@ class WEEL
105
107
  class ManipulateStructure # {{{
106
108
  def initialize(data,endpoints,status,local,additional)
107
109
  @__weel_data = data
108
- @__weel_data_orig = @__weel_data.transform_values{|val| Marshal.dump(val) rescue nil }
110
+ @__weel_data_orig = @__weel_data.transform_values{|val| MessagePack.pack(val) rescue nil }
109
111
  @__weel_endpoints = endpoints
110
- @__weel_endpoints_orig = @__weel_endpoints.transform_values{|val| Marshal.dump(val) }
112
+ @__weel_endpoints_orig = @__weel_endpoints.transform_values{|val| MessagePack.pack(val) }
111
113
  @__weel_status = status
112
114
  @__weel_local = local
113
115
  @changed_status = "#{status.id}-#{status.message}"
@@ -133,7 +135,7 @@ class WEEL
133
135
  def method_missing(m,*args,&block)
134
136
  if @additional.include?(m)
135
137
  begin
136
- tmp = Marshal.load(Marshal.dump(@additional[m]))
138
+ tmp = @additional[m].deep_dup
137
139
  if tmp.is_a? Hash
138
140
  ReadHash.new(tmp)
139
141
  else
@@ -159,7 +161,7 @@ class WEEL
159
161
 
160
162
  def changed_data
161
163
  @touched_data.each do |e|
162
- td = Marshal.dump(@__weel_data[e]) rescue nil
164
+ td = MessagePack.pack(@__weel_data[e]) rescue nil
163
165
  if td != @__weel_data_orig[e]
164
166
  @changed_data << e
165
167
  end
@@ -171,11 +173,11 @@ class WEEL
171
173
  end
172
174
 
173
175
  def original_data
174
- @__weel_data_orig.transform_values{|val| Marshal.load(val) rescue nil }
176
+ @__weel_data_orig.transform_values{|val| MessagePack.unpack(val) rescue nil }
175
177
  end
176
178
 
177
179
  def original_endpoints
178
- @__weel_endpoints_orig.transform_values{|val| Marshal.load(val) rescue nil }
180
+ @__weel_endpoints_orig.transform_values{|val| MessagePack.unpack(val) rescue nil }
179
181
  end
180
182
 
181
183
  def changed_status
@@ -306,7 +308,7 @@ class WEEL
306
308
  v.root.to_doc
307
309
  else
308
310
  begin
309
- Marshal.load(Marshal.dump(v))
311
+ v.deep_dup
310
312
  rescue
311
313
  v.to_s rescue nil
312
314
  end
@@ -579,7 +581,7 @@ class WEEL
579
581
  Thread.current[:branch_search] = @__weel_search_positions.any?
580
582
  Thread.current[:branch_parent] = branch_parent
581
583
  Thread.current[:start_event] = Continue.new
582
- Thread.current[:local] = Marshal.load(Marshal.dump(local))
584
+ Thread.current[:local] = local.deep_dup
583
585
  Thread.current[:branch_wait_count_cancel_active] = false
584
586
  branch_parent[:mutex].synchronize do
585
587
  Thread.current[:branch_traces_id] = branch_parent[:branch_traces_ids]
data/weel.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "weel"
3
- s.version = "1.99.151"
3
+ s.version = "1.99.152"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "Workflow Execution Engine Library (WEEL)"
@@ -19,4 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.homepage = 'http://cpee.org/'
20
20
 
21
21
  s.add_runtime_dependency 'test-unit', '~> 3.0'
22
+ s.add_runtime_dependency 'msgpack', '~> 1'
23
+ s.add_runtime_dependency 'activesupport', '~> 8'
22
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.151
4
+ version: 1.99.152
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: msgpack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '8'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '8'
27
55
  description: see http://cpee.org
28
56
  email: juergen.mangler@gmail.com
29
57
  executables: []