openwferu 0.9.0

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 (55) hide show
  1. data/README +47 -0
  2. data/lib/codec.rb +571 -0
  3. data/lib/controlclient.rb +115 -0
  4. data/lib/definitions.rb +112 -0
  5. data/lib/exception.rb +60 -0
  6. data/lib/flowexpressionid.rb +137 -0
  7. data/lib/openwferu.rb +43 -0
  8. data/lib/osocket.rb +138 -0
  9. data/lib/otime.rb +171 -0
  10. data/lib/restclient.rb +155 -0
  11. data/lib/ru/contextual.rb +63 -0
  12. data/lib/ru/dollar.rb +163 -0
  13. data/lib/ru/engine.rb +130 -0
  14. data/lib/ru/environment.rb +140 -0
  15. data/lib/ru/expressionmap.rb +120 -0
  16. data/lib/ru/expressionpool.rb +339 -0
  17. data/lib/ru/expressionstorage.rb +97 -0
  18. data/lib/ru/fe_base.rb +105 -0
  19. data/lib/ru/fe_concurrence.rb +122 -0
  20. data/lib/ru/fe_define.rb +101 -0
  21. data/lib/ru/fe_misc.rb +96 -0
  22. data/lib/ru/fe_participant.rb +75 -0
  23. data/lib/ru/fe_raw.rb +173 -0
  24. data/lib/ru/fe_subprocess.rb +84 -0
  25. data/lib/ru/fe_time.rb +135 -0
  26. data/lib/ru/fe_utils.rb +123 -0
  27. data/lib/ru/fe_value.rb +225 -0
  28. data/lib/ru/flowexpression.rb +250 -0
  29. data/lib/ru/logging.rb +85 -0
  30. data/lib/ru/participant.rb +67 -0
  31. data/lib/ru/participantmap.rb +93 -0
  32. data/lib/ru/participants.rb +74 -0
  33. data/lib/ru/rudefinitions.rb +70 -0
  34. data/lib/ru/ruutils.rb +68 -0
  35. data/lib/ru/scheduler.rb +478 -0
  36. data/lib/ru/schedulers.rb +63 -0
  37. data/lib/ru/service.rb +64 -0
  38. data/lib/test.rb +220 -0
  39. data/lib/utils.rb +94 -0
  40. data/lib/workitem.rb +250 -0
  41. data/lib/worklistclient.rb +276 -0
  42. data/test/dollartest.rb +79 -0
  43. data/test/feitest.rb +130 -0
  44. data/test/flowtestbase.rb +86 -0
  45. data/test/ft_0.rb +161 -0
  46. data/test/ft_1_unset.rb +152 -0
  47. data/test/ft_2_concurrence.rb +34 -0
  48. data/test/ft_3_equals.rb +84 -0
  49. data/test/ft_4_misc.rb +128 -0
  50. data/test/ft_5_time.rb +56 -0
  51. data/test/misctest.rb +46 -0
  52. data/test/runtest.rb +21 -0
  53. data/test/rutest_utils.rb +15 -0
  54. data/test/timetest.rb +111 -0
  55. metadata +100 -0
data/test/timetest.rb ADDED
@@ -0,0 +1,111 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Sun Oct 29 16:18:25 JST 2006
8
+ #
9
+
10
+ require 'test/unit'
11
+ require 'otime'
12
+ require 'ru/scheduler'
13
+
14
+ #
15
+ # testing otime and the scheduler
16
+ #
17
+
18
+ class TimeTest < Test::Unit::TestCase
19
+
20
+ #def setup
21
+ #end
22
+
23
+ #def teardown
24
+ #end
25
+
26
+ def test_is_digit
27
+
28
+ for i in 0...9
29
+ si = "#{i}"
30
+ assert \
31
+ OpenWFE::is_digit?(si),
32
+ "'#{si}' should be a digit"
33
+ end
34
+
35
+ assert \
36
+ (not OpenWFE::is_digit?(1)),
37
+ "the integer 1 is not a character digit"
38
+ assert \
39
+ (not OpenWFE::is_digit?("a")),
40
+ "the character 'a' is not a character digit"
41
+ end
42
+
43
+ def test_parse_time_string
44
+
45
+ pts("1000", 1.0)
46
+ pts("1h", 3600.0)
47
+ pts("1h10s", 3610.0)
48
+ end
49
+
50
+ def test_scheduler_0
51
+
52
+ $var = nil
53
+
54
+ scheduler = OpenWFEru::Scheduler.new()
55
+ scheduler.start
56
+
57
+ scheduler.schedule_in('2s', TestSchedulable.new, nil)
58
+
59
+ sleep(2.5)
60
+ scheduler.stop
61
+
62
+ #puts ">#{$var}<"
63
+
64
+ assert \
65
+ ($var == "ok"),
66
+ "scheduler_0 didn't work"
67
+ end
68
+
69
+ def test_cron_0
70
+ $var = 0
71
+
72
+ scheduler = OpenWFEru::Scheduler.new()
73
+ scheduler.start
74
+
75
+ scheduler.schedule('* * * * *', CounterSchedulable.new, nil)
76
+
77
+ sleep(120)
78
+ scheduler.stop
79
+
80
+ #puts ">#{$var}<"
81
+
82
+ assert \
83
+ ($var == 2),
84
+ "cron_0 failed, $var is #{$var}"
85
+ end
86
+
87
+ protected
88
+
89
+ class TestSchedulable
90
+ include OpenWFEru::Schedulable
91
+
92
+ def trigger (params)
93
+ $var = "ok"
94
+ end
95
+ end
96
+
97
+ class CounterSchedulable
98
+ include OpenWFEru::Schedulable
99
+
100
+ def trigger (params)
101
+ $var = $var + 1
102
+ end
103
+ end
104
+
105
+ def pts (time_string, seconds)
106
+ assert \
107
+ (OpenWFE::parse_time_string(time_string) == seconds),
108
+ "'#{time_string}' did not map to #{seconds} seconds"
109
+ end
110
+
111
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: openwferu
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.9.0
7
+ date: 2006-11-29 00:00:00 +09:00
8
+ summary: An OpenWFE-compatible workflow engine in Ruby
9
+ require_paths:
10
+ - lib
11
+ email: john at openwfe dot org
12
+ homepage: http://rubyforge.org/projects/openwferu
13
+ rubyforge_project:
14
+ description:
15
+ autorequire: openwferu
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - John Mettraux
31
+ files:
32
+ - lib/ru
33
+ - lib/exception.rb
34
+ - lib/codec.rb
35
+ - lib/otime.rb
36
+ - lib/worklistclient.rb
37
+ - lib/controlclient.rb
38
+ - lib/test.rb
39
+ - lib/utils.rb
40
+ - lib/workitem.rb
41
+ - lib/flowexpressionid.rb
42
+ - lib/osocket.rb
43
+ - lib/definitions.rb
44
+ - lib/restclient.rb
45
+ - lib/openwferu.rb
46
+ - lib/ru/participant.rb
47
+ - lib/ru/dollar.rb
48
+ - lib/ru/rudefinitions.rb
49
+ - lib/ru/scheduler.rb
50
+ - lib/ru/fe_concurrence.rb
51
+ - lib/ru/fe_base.rb
52
+ - lib/ru/expressionstorage.rb
53
+ - lib/ru/contextual.rb
54
+ - lib/ru/fe_value.rb
55
+ - lib/ru/logging.rb
56
+ - lib/ru/flowexpression.rb
57
+ - lib/ru/fe_participant.rb
58
+ - lib/ru/expressionpool.rb
59
+ - lib/ru/expressionmap.rb
60
+ - lib/ru/service.rb
61
+ - lib/ru/participants.rb
62
+ - lib/ru/schedulers.rb
63
+ - lib/ru/fe_subprocess.rb
64
+ - lib/ru/fe_raw.rb
65
+ - lib/ru/fe_define.rb
66
+ - lib/ru/environment.rb
67
+ - lib/ru/fe_misc.rb
68
+ - lib/ru/engine.rb
69
+ - lib/ru/ruutils.rb
70
+ - lib/ru/fe_time.rb
71
+ - lib/ru/fe_utils.rb
72
+ - lib/ru/participantmap.rb
73
+ - test/ft_2_concurrence.rb
74
+ - test/dollartest.rb
75
+ - test/timetest.rb
76
+ - test/flowtestbase.rb
77
+ - test/feitest.rb
78
+ - test/runtest.rb
79
+ - test/ft_3_equals.rb
80
+ - test/rutest_utils.rb
81
+ - test/ft_1_unset.rb
82
+ - test/ft_4_misc.rb
83
+ - test/ft_0.rb
84
+ - test/ft_5_time.rb
85
+ - test/misctest.rb
86
+ - README
87
+ test_files:
88
+ - test/runtest.rb
89
+ rdoc_options: []
90
+
91
+ extra_rdoc_files:
92
+ - README
93
+ executables: []
94
+
95
+ extensions: []
96
+
97
+ requirements: []
98
+
99
+ dependencies: []
100
+