weel 1.99.109 → 1.99.111
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/lib/weel.rb +13 -15
- data/weel.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b06de4e72e80c63aa6cd62cb267e837823a6099ef8b100031eeb5e817f950ff2
|
|
4
|
+
data.tar.gz: f227674b5d4f22a49d6d96e823a618fc508e48e250a50dee08603d128d30d5f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23321928b269cfb7358187d79e786fd6efef7b0ad4694b35d71af6f0e63f175a2228356ee8a781de4f64d106dc84d790c585a89468065ac37b07dd3cf60c550e
|
|
7
|
+
data.tar.gz: 8881323b085b5e928412476f21e5ebe5d2f5fd9a9da0f30c65d2da16643c88bd21507331d9ee6b097d99643d25aefa6882cc4a11eb7e4faf32cd4a32f2bc2460
|
data/lib/weel.rb
CHANGED
|
@@ -354,19 +354,19 @@ class WEEL
|
|
|
354
354
|
def callback(result=nil,options={}); end
|
|
355
355
|
def mem_guard; end
|
|
356
356
|
|
|
357
|
-
def test_condition(mr,code); mr.instance_eval(code); end
|
|
357
|
+
def test_condition(mr,code,args={}); mr.instance_eval(code); end
|
|
358
358
|
def join_branches(branches); end
|
|
359
359
|
def manipulate(mr,code,where,result=nil,options=nil); mr.instance_eval(code,where,1); end
|
|
360
360
|
end # }}}
|
|
361
361
|
|
|
362
362
|
class Position # {{{
|
|
363
|
-
attr_reader :position
|
|
364
|
-
attr_accessor :detail, :passthrough
|
|
365
|
-
def initialize(position, detail=:at, passthrough=nil) # :at or :after or :unmark
|
|
363
|
+
attr_reader :position, :uuid
|
|
364
|
+
attr_accessor :detail, :passthrough
|
|
365
|
+
def initialize(position, uuid, detail=:at, passthrough=nil) # :at or :after or :unmark
|
|
366
366
|
@position = position
|
|
367
367
|
@detail = detail
|
|
368
|
+
@uuid = uuid
|
|
368
369
|
@passthrough = passthrough
|
|
369
|
-
@uuid = 0
|
|
370
370
|
end
|
|
371
371
|
def as_json(*)
|
|
372
372
|
jsn = { 'position' => @position, 'uuid' => @uuid }
|
|
@@ -632,7 +632,7 @@ class WEEL
|
|
|
632
632
|
Thread.current[:mutex].synchronize do
|
|
633
633
|
return if Thread.current[:alternative_mode][-1] == :exclusive && Thread.current[:alternative_executed][-1] == true
|
|
634
634
|
if (condition.is_a?(String) || condition.is_a?(Proc)) && !__weel_sim
|
|
635
|
-
condition = __weel_eval_condition(condition)
|
|
635
|
+
condition = __weel_eval_condition(condition, args)
|
|
636
636
|
end
|
|
637
637
|
Thread.current[:alternative_executed][-1] = true if condition
|
|
638
638
|
end
|
|
@@ -692,7 +692,7 @@ class WEEL
|
|
|
692
692
|
catch :escape do
|
|
693
693
|
case condition[1]
|
|
694
694
|
when :pre_test
|
|
695
|
-
while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing && !Thread.current[:nolongernecessary]
|
|
695
|
+
while __weel_eval_condition(condition[0],args) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing && !Thread.current[:nolongernecessary]
|
|
696
696
|
loop_guard += 1
|
|
697
697
|
__weel_protect_yield(&block)
|
|
698
698
|
sleep 1 if @__weel_connectionwrapper::loop_guard(@__weel_connectionwrapper_args,loop_id,loop_guard)
|
|
@@ -702,7 +702,7 @@ class WEEL
|
|
|
702
702
|
loop_guard += 1
|
|
703
703
|
__weel_protect_yield(&block)
|
|
704
704
|
sleep 1 if @__weel_connectionwrapper::loop_guard(@__weel_connectionwrapper_args,loop_id,loop_guard)
|
|
705
|
-
end while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing && !Thread.current[:nolongernecessary]
|
|
705
|
+
end while __weel_eval_condition(condition[0],args) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing && !Thread.current[:nolongernecessary]
|
|
706
706
|
end
|
|
707
707
|
end
|
|
708
708
|
end # }}}
|
|
@@ -729,6 +729,7 @@ class WEEL
|
|
|
729
729
|
end #}}}
|
|
730
730
|
def stop(position) #{{{
|
|
731
731
|
searchmode = __weel_is_in_search_mode(position)
|
|
732
|
+
|
|
732
733
|
return if searchmode
|
|
733
734
|
return if self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
|
|
734
735
|
|
|
@@ -767,10 +768,10 @@ class WEEL
|
|
|
767
768
|
end
|
|
768
769
|
end #}}}
|
|
769
770
|
|
|
770
|
-
def __weel_eval_condition(condition) #{{{
|
|
771
|
+
def __weel_eval_condition(condition,args={}) #{{{
|
|
771
772
|
begin
|
|
772
773
|
connectionwrapper = @__weel_connectionwrapper.new @__weel_connectionwrapper_args unless condition.is_a?(Proc)
|
|
773
|
-
condition.is_a?(Proc) ? condition.call : connectionwrapper.test_condition(ReadStructure.new(@__weel_data,@__weel_endpoints,Thread.current[:local],connectionwrapper.additional),condition)
|
|
774
|
+
condition.is_a?(Proc) ? condition.call : connectionwrapper.test_condition(ReadStructure.new(@__weel_data,@__weel_endpoints,Thread.current[:local],connectionwrapper.additional),condition,args)
|
|
774
775
|
rescue NameError => err # don't look into it, or it will explode
|
|
775
776
|
# if you access $! here, BOOOM
|
|
776
777
|
self.__weel_state = :stopping
|
|
@@ -799,11 +800,10 @@ class WEEL
|
|
|
799
800
|
end
|
|
800
801
|
wp = if branch[:branch_search_now] == true
|
|
801
802
|
branch[:branch_search_now] = false
|
|
802
|
-
WEEL::Position.new(position, skip ? :after : :at, @__weel_search_positions[position]&.passthrough)
|
|
803
|
+
WEEL::Position.new(position, uuid, skip ? :after : :at, @__weel_search_positions[position]&.passthrough)
|
|
803
804
|
else
|
|
804
|
-
WEEL::Position.new(position, skip ? :after : :at)
|
|
805
|
+
WEEL::Position.new(position, uuid, skip ? :after : :at)
|
|
805
806
|
end
|
|
806
|
-
wp.uuid = uuid
|
|
807
807
|
ipc[skip ? :after : :at] = [wp]
|
|
808
808
|
|
|
809
809
|
@__weel_search_positions.delete(position)
|
|
@@ -915,8 +915,6 @@ class WEEL
|
|
|
915
915
|
update
|
|
916
916
|
elsif waitingresult == WEEL::Signal::Salvage
|
|
917
917
|
salvage || raise('HTTP Error. The service return status was not between 200 and 300.')
|
|
918
|
-
elsif waitingresult == WEEL::Signal::Stop
|
|
919
|
-
self.__weel_state = :stopping
|
|
920
918
|
else
|
|
921
919
|
finalize
|
|
922
920
|
end
|
data/weel.gemspec
CHANGED
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.
|
|
4
|
+
version: 1.99.111
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2023-
|
|
12
|
+
date: 2023-08-24 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: test-unit
|
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '0'
|
|
103
103
|
requirements: []
|
|
104
|
-
rubygems_version: 3.
|
|
104
|
+
rubygems_version: 3.4.10
|
|
105
105
|
signing_key:
|
|
106
106
|
specification_version: 4
|
|
107
107
|
summary: Workflow Execution Engine Library (WEEL)
|