weel 1.99.70 → 1.99.71

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 +25 -9
  3. data/weel.gemspec +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d0747682705e0b3fc0480a1453ec3d9eb384cbfe3c5efe0fe8c54252f25d8b3
4
- data.tar.gz: 05fb3d2130621def8028235bf368bac843af93edad483755d96b9dd7188cb345
3
+ metadata.gz: 2dc2c88d480b5299d495afce0adfaeff05e082d52a11be513365f7b5968fd9a7
4
+ data.tar.gz: 9c8e93373ba216e2554e15cf80f4658615700f02a8f9b1264e9fa067d507e894
5
5
  SHA512:
6
- metadata.gz: fa801199b59a79e88e8c3f3fc554cb35fda18609eb7ad5415a6822eee9477e6a5b68f882cb013004d9d76fc6cfe8e048abfec0f44fdb8f73d4022101349d037c
7
- data.tar.gz: c6538dde3e220125181620a59a40c4fa494037be711fdde99d538ad781afcccf7d91e642640d0604246bb4267a2e6c4ff3ea76fbfe0c3129db87cb2bbd30be29
6
+ metadata.gz: 3cda29ab7590661e3cd8e666f2b5a5d3e7b30af34baf7385a2877dd4ac4033b31ac7c49bb8f9c5176e9bc53e8be0693ad3facd29f5de8439d0ea688ddc4ae4ab
7
+ data.tar.gz: aae4ee0f1e624ce92254cf451177fffabf6ebb9b4aa76d04ced9ba4c1e037db79d7ec5cafaffe1c9236eaa632ed8bd7d0b5cae83be95cb418ec45df3a9ab8e59
@@ -215,6 +215,7 @@ class WEEL
215
215
  def self::inform_syntax_error(arguments,err,code); end
216
216
  def self::inform_handlerwrapper_error(arguments,err); end
217
217
  def self::inform_position_change(arguments,ipc); end
218
+ def self::modify_position_details(arguments); end
218
219
 
219
220
  def initialize(arguments,endpoint=nil,position=nil,continue=nil); end
220
221
 
@@ -256,6 +257,17 @@ class WEEL
256
257
  @detail = detail
257
258
  @passthrough = passthrough
258
259
  end
260
+ def as_json(*)
261
+ jsn = { 'position' => @position }
262
+ jsn['passtrough'] = @passthrough if @passthrough
263
+ jsn
264
+ end
265
+ def to_s
266
+ as_json.to_s
267
+ end
268
+ def to_json(*args)
269
+ as_json.to_json(*args)
270
+ end
259
271
  end # }}}
260
272
 
261
273
  class Continue # {{{
@@ -449,7 +461,7 @@ class WEEL
449
461
  @__weel_positions.delete Thread.current[:branch_position]
450
462
  begin
451
463
  ipc = {}
452
- ipc[:unmark] = [Thread.current[:branch_position].position]
464
+ ipc[:unmark] = [Thread.current[:branch_position]]
453
465
  @__weel_handlerwrapper::inform_position_change(@__weel_handlerwrapper_args,ipc)
454
466
  end rescue nil
455
467
  Thread.current[:branch_position] = nil
@@ -624,21 +636,21 @@ class WEEL
624
636
  ipc = {}
625
637
  if searchmode == :after
626
638
  wp = WEEL::Position.new(position, :after, nil)
627
- ipc[:after] = [wp.position]
639
+ ipc[:after] = [wp]
628
640
  else
629
641
  if Thread.current[:branch_parent] && Thread.current[:branch_parent][:branch_position]
630
642
  @__weel_positions.delete Thread.current[:branch_parent][:branch_position]
631
643
  ipc[:unmark] ||= []
632
- ipc[:unmark] << Thread.current[:branch_parent][:branch_position].position rescue nil
644
+ ipc[:unmark] << Thread.current[:branch_parent][:branch_position] rescue nil
633
645
  Thread.current[:branch_parent][:branch_position] = nil
634
646
  end
635
647
  if Thread.current[:branch_position]
636
648
  @__weel_positions.delete Thread.current[:branch_position]
637
649
  ipc[:unmark] ||= []
638
- ipc[:unmark] << Thread.current[:branch_position].position rescue nil
650
+ ipc[:unmark] << Thread.current[:branch_position] rescue nil
639
651
  end
640
652
  wp = WEEL::Position.new(position, skip ? :after : :at, nil)
641
- ipc[skip ? :after : :at] = [wp.position]
653
+ ipc[skip ? :after : :at] = [wp]
642
654
  end
643
655
  @__weel_positions << wp
644
656
  Thread.current[:branch_position] = wp
@@ -691,7 +703,7 @@ class WEEL
691
703
  )
692
704
  handlerwrapper.inform_activity_done
693
705
  wp.detail = :after
694
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp.position]
706
+ @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp]
695
707
  end
696
708
  when :call
697
709
  params = { }
@@ -727,6 +739,9 @@ class WEEL
727
739
 
728
740
  handlerwrapper.activity_handle passthrough, params
729
741
  wp.passthrough = handlerwrapper.activity_passthrough_value
742
+ unless wp.passthrough.nil?
743
+ @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :wait => [wp]
744
+ end
730
745
  begin
731
746
  # with loop if catching Signal::Again
732
747
  # handshake call and wait until it finished
@@ -770,8 +785,9 @@ class WEEL
770
785
  end while waitingresult == Signal::Again
771
786
  if handlerwrapper.activity_passthrough_value.nil?
772
787
  handlerwrapper.inform_activity_done
788
+ wp.passthrough = nil
773
789
  wp.detail = :after
774
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp.position]
790
+ @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp]
775
791
  end
776
792
  end
777
793
  raise Signal::Proceed
@@ -784,7 +800,7 @@ class WEEL
784
800
  @__weel_positions.delete wp
785
801
  Thread.current[:branch_position] = nil
786
802
  wp.detail = :unmark
787
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :unmark => [wp.position]
803
+ @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :unmark => [wp]
788
804
  rescue Signal::StopSkipManipulate, Signal::Stop
789
805
  self.__weel_state = :stopping
790
806
  rescue Signal::Skip
@@ -1007,7 +1023,7 @@ public
1007
1023
  end
1008
1024
  if @dslr.__weel_state == :running || @dslr.__weel_state == :finishing
1009
1025
  ipc = { :unmark => [] }
1010
- @dslr.__weel_positions.each{ |wp| ipc[:unmark] << wp.position }
1026
+ @dslr.__weel_positions.each{ |wp| ipc[:unmark] << wp }
1011
1027
  @dslr.__weel_positions.clear
1012
1028
  @dslr.__weel_handlerwrapper::inform_position_change(@dslr.__weel_handlerwrapper_args,ipc)
1013
1029
  @dslr.__weel_state = :finished
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "weel"
3
- s.version = "1.99.70"
3
+ s.version = "1.99.71"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of the Workflow Execution Engine Library (WEEL)"
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.70
4
+ version: 1.99.71
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: 2018-09-17 00:00:00.000000000 Z
12
+ date: 2018-11-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test-unit