weel 1.99.109 → 1.99.111
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|