ruote 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (305) hide show
  1. data/CHANGELOG.txt +166 -1
  2. data/CREDITS.txt +36 -17
  3. data/LICENSE.txt +1 -1
  4. data/README.rdoc +1 -7
  5. data/Rakefile +38 -29
  6. data/TODO.txt +93 -52
  7. data/lib/ruote-fs.rb +3 -0
  8. data/lib/ruote.rb +5 -1
  9. data/lib/ruote/context.rb +140 -35
  10. data/lib/ruote/dashboard.rb +1247 -0
  11. data/lib/ruote/{engine → dboard}/process_error.rb +22 -2
  12. data/lib/ruote/dboard/process_status.rb +587 -0
  13. data/lib/ruote/engine.rb +6 -871
  14. data/lib/ruote/exp/command.rb +7 -2
  15. data/lib/ruote/exp/commanded.rb +2 -2
  16. data/lib/ruote/exp/condition.rb +38 -13
  17. data/lib/ruote/exp/fe_add_branches.rb +1 -1
  18. data/lib/ruote/exp/fe_apply.rb +1 -1
  19. data/lib/ruote/exp/fe_await.rb +357 -0
  20. data/lib/ruote/exp/fe_cancel_process.rb +17 -3
  21. data/lib/ruote/exp/fe_command.rb +8 -4
  22. data/lib/ruote/exp/fe_concurrence.rb +218 -18
  23. data/lib/ruote/exp/fe_concurrent_iterator.rb +71 -10
  24. data/lib/ruote/exp/fe_cron.rb +3 -10
  25. data/lib/ruote/exp/fe_cursor.rb +14 -4
  26. data/lib/ruote/exp/fe_define.rb +3 -1
  27. data/lib/ruote/exp/fe_echo.rb +1 -1
  28. data/lib/ruote/exp/fe_equals.rb +1 -1
  29. data/lib/ruote/exp/fe_error.rb +1 -1
  30. data/lib/ruote/exp/fe_filter.rb +163 -4
  31. data/lib/ruote/exp/fe_forget.rb +21 -4
  32. data/lib/ruote/exp/fe_given.rb +1 -1
  33. data/lib/ruote/exp/fe_if.rb +1 -1
  34. data/lib/ruote/exp/fe_inc.rb +102 -35
  35. data/lib/ruote/exp/fe_iterator.rb +47 -12
  36. data/lib/ruote/exp/fe_listen.rb +96 -11
  37. data/lib/ruote/exp/fe_lose.rb +31 -4
  38. data/lib/ruote/exp/fe_noop.rb +1 -1
  39. data/lib/ruote/exp/fe_on_error.rb +109 -0
  40. data/lib/ruote/exp/fe_once.rb +10 -19
  41. data/lib/ruote/exp/fe_participant.rb +90 -28
  42. data/lib/ruote/exp/fe_read.rb +69 -0
  43. data/lib/ruote/exp/fe_redo.rb +3 -2
  44. data/lib/ruote/exp/fe_ref.rb +57 -27
  45. data/lib/ruote/exp/fe_registerp.rb +1 -3
  46. data/lib/ruote/exp/fe_reserve.rb +1 -1
  47. data/lib/ruote/exp/fe_restore.rb +6 -6
  48. data/lib/ruote/exp/fe_save.rb +12 -19
  49. data/lib/ruote/exp/fe_sequence.rb +38 -2
  50. data/lib/ruote/exp/fe_set.rb +143 -40
  51. data/lib/ruote/exp/{fe_let.rb → fe_stall.rb} +7 -38
  52. data/lib/ruote/exp/fe_subprocess.rb +8 -2
  53. data/lib/ruote/exp/fe_that.rb +1 -1
  54. data/lib/ruote/exp/fe_undo.rb +40 -4
  55. data/lib/ruote/exp/fe_unregisterp.rb +1 -3
  56. data/lib/ruote/exp/fe_wait.rb +12 -25
  57. data/lib/ruote/exp/{flowexpression.rb → flow_expression.rb} +375 -229
  58. data/lib/ruote/exp/iterator.rb +2 -2
  59. data/lib/ruote/exp/merge.rb +78 -17
  60. data/lib/ruote/exp/ro_attributes.rb +46 -36
  61. data/lib/ruote/exp/ro_filters.rb +34 -8
  62. data/lib/ruote/exp/ro_on_x.rb +431 -0
  63. data/lib/ruote/exp/ro_persist.rb +19 -7
  64. data/lib/ruote/exp/ro_timers.rb +123 -0
  65. data/lib/ruote/exp/ro_variables.rb +90 -29
  66. data/lib/ruote/fei.rb +57 -3
  67. data/lib/ruote/fs.rb +3 -0
  68. data/lib/ruote/id/mnemo_wfid_generator.rb +30 -7
  69. data/lib/ruote/id/wfid_generator.rb +17 -38
  70. data/lib/ruote/log/default_history.rb +23 -9
  71. data/lib/ruote/log/fancy_printing.rb +265 -0
  72. data/lib/ruote/log/storage_history.rb +23 -13
  73. data/lib/ruote/log/wait_logger.rb +224 -17
  74. data/lib/ruote/observer.rb +82 -0
  75. data/lib/ruote/part/block_participant.rb +65 -28
  76. data/lib/ruote/part/code_participant.rb +81 -0
  77. data/lib/ruote/part/engine_participant.rb +7 -2
  78. data/lib/ruote/part/local_participant.rb +221 -21
  79. data/lib/ruote/part/no_op_participant.rb +1 -1
  80. data/lib/ruote/part/null_participant.rb +1 -1
  81. data/lib/ruote/part/participant.rb +50 -0
  82. data/lib/ruote/part/rev_participant.rb +178 -0
  83. data/lib/ruote/part/smtp_participant.rb +2 -2
  84. data/lib/ruote/part/storage_participant.rb +228 -60
  85. data/lib/ruote/part/template.rb +1 -1
  86. data/lib/ruote/participant.rb +2 -0
  87. data/lib/ruote/reader.rb +205 -68
  88. data/lib/ruote/reader/json.rb +49 -0
  89. data/lib/ruote/reader/radial.rb +303 -0
  90. data/lib/ruote/reader/ruby_dsl.rb +44 -9
  91. data/lib/ruote/reader/xml.rb +11 -8
  92. data/lib/ruote/receiver/base.rb +98 -45
  93. data/lib/ruote/storage/base.rb +104 -35
  94. data/lib/ruote/storage/composite_storage.rb +50 -60
  95. data/lib/ruote/storage/fs_storage.rb +25 -34
  96. data/lib/ruote/storage/hash_storage.rb +38 -36
  97. data/lib/ruote/svc/dispatch_pool.rb +104 -35
  98. data/lib/ruote/svc/dollar_sub.rb +10 -8
  99. data/lib/ruote/svc/error_handler.rb +108 -52
  100. data/lib/ruote/svc/expression_map.rb +3 -3
  101. data/lib/ruote/svc/participant_list.rb +160 -55
  102. data/lib/ruote/svc/tracker.rb +31 -31
  103. data/lib/ruote/svc/treechecker.rb +28 -16
  104. data/lib/ruote/tree_dot.rb +1 -1
  105. data/lib/ruote/util/deep.rb +143 -0
  106. data/lib/ruote/util/filter.rb +125 -18
  107. data/lib/ruote/util/hashdot.rb +15 -13
  108. data/lib/ruote/util/look.rb +1 -1
  109. data/lib/ruote/util/lookup.rb +60 -22
  110. data/lib/ruote/util/misc.rb +63 -18
  111. data/lib/ruote/util/mpatch.rb +53 -0
  112. data/lib/ruote/util/ometa.rb +1 -2
  113. data/lib/ruote/util/process_observer.rb +177 -0
  114. data/lib/ruote/util/subprocess.rb +1 -1
  115. data/lib/ruote/util/time.rb +2 -2
  116. data/lib/ruote/util/tree.rb +64 -2
  117. data/lib/ruote/version.rb +3 -2
  118. data/lib/ruote/worker.rb +421 -92
  119. data/lib/ruote/workitem.rb +157 -22
  120. data/ruote.gemspec +15 -9
  121. data/test/bm/ci.rb +0 -2
  122. data/test/bm/ici.rb +0 -2
  123. data/test/bm/load_26c.rb +0 -3
  124. data/test/bm/mega.rb +0 -2
  125. data/test/functional/base.rb +57 -43
  126. data/test/functional/concurrent_base.rb +16 -13
  127. data/test/functional/ct_0_concurrence.rb +7 -11
  128. data/test/functional/ct_1_iterator.rb +9 -11
  129. data/test/functional/ct_2_cancel.rb +28 -17
  130. data/test/functional/eft_0_flow_expression.rb +35 -0
  131. data/test/functional/eft_10_cancel_process.rb +1 -1
  132. data/test/functional/eft_11_wait.rb +13 -13
  133. data/test/functional/eft_12_listen.rb +199 -66
  134. data/test/functional/eft_13_iterator.rb +95 -29
  135. data/test/functional/eft_14_cursor.rb +74 -24
  136. data/test/functional/eft_15_loop.rb +7 -7
  137. data/test/functional/eft_16_if.rb +1 -1
  138. data/test/functional/eft_17_equals.rb +1 -1
  139. data/test/functional/eft_18_concurrent_iterator.rb +156 -68
  140. data/test/functional/eft_19_reserve.rb +15 -15
  141. data/test/functional/eft_1_echo.rb +1 -1
  142. data/test/functional/eft_20_save.rb +51 -9
  143. data/test/functional/eft_21_restore.rb +1 -1
  144. data/test/functional/eft_22_noop.rb +1 -1
  145. data/test/functional/eft_23_apply.rb +1 -1
  146. data/test/functional/eft_24_add_branches.rb +7 -8
  147. data/test/functional/eft_25_command.rb +1 -1
  148. data/test/functional/eft_26_error.rb +11 -11
  149. data/test/functional/eft_27_inc.rb +111 -67
  150. data/test/functional/eft_28_once.rb +16 -16
  151. data/test/functional/eft_29_cron.rb +9 -9
  152. data/test/functional/eft_2_sequence.rb +23 -4
  153. data/test/functional/eft_30_ref.rb +36 -24
  154. data/test/functional/eft_31_registerp.rb +24 -24
  155. data/test/functional/eft_32_lose.rb +46 -20
  156. data/test/functional/eft_34_given.rb +1 -1
  157. data/test/functional/eft_35_filter.rb +161 -7
  158. data/test/functional/eft_36_read.rb +97 -0
  159. data/test/functional/{eft_0_process_definition.rb → eft_37_process_definition.rb} +4 -4
  160. data/test/functional/eft_38_on_error.rb +195 -0
  161. data/test/functional/eft_39_stall.rb +35 -0
  162. data/test/functional/eft_3_participant.rb +77 -22
  163. data/test/functional/eft_40_await.rb +297 -0
  164. data/test/functional/eft_4_set.rb +110 -11
  165. data/test/functional/eft_5_subprocess.rb +27 -5
  166. data/test/functional/eft_6_concurrence.rb +299 -60
  167. data/test/functional/eft_7_forget.rb +24 -22
  168. data/test/functional/eft_8_undo.rb +52 -15
  169. data/test/functional/eft_9_redo.rb +18 -20
  170. data/test/functional/ft_0_worker.rb +122 -13
  171. data/test/functional/ft_10_dollar.rb +77 -16
  172. data/test/functional/ft_11_recursion.rb +9 -9
  173. data/test/functional/ft_12_launchitem.rb +7 -9
  174. data/test/functional/ft_13_variables.rb +125 -22
  175. data/test/functional/ft_14_re_apply.rb +112 -56
  176. data/test/functional/ft_15_timeout.rb +64 -33
  177. data/test/functional/ft_16_participant_params.rb +59 -6
  178. data/test/functional/ft_17_conditional.rb +68 -2
  179. data/test/functional/ft_18_kill.rb +48 -30
  180. data/test/functional/ft_19_participant_code.rb +67 -0
  181. data/test/functional/ft_1_process_status.rb +222 -150
  182. data/test/functional/ft_20_storage_participant.rb +445 -44
  183. data/test/functional/ft_21_forget.rb +21 -26
  184. data/test/functional/ft_22_process_definitions.rb +8 -6
  185. data/test/functional/ft_23_load_defs.rb +29 -5
  186. data/test/functional/ft_24_block_participant.rb +199 -20
  187. data/test/functional/ft_25_receiver.rb +98 -46
  188. data/test/functional/ft_26_participant_rtimeout.rb +34 -26
  189. data/test/functional/ft_27_var_indirection.rb +40 -5
  190. data/test/functional/ft_28_null_noop_participants.rb +5 -5
  191. data/test/functional/ft_29_part_template.rb +2 -2
  192. data/test/functional/ft_2_errors.rb +106 -74
  193. data/test/functional/ft_30_smtp_participant.rb +7 -7
  194. data/test/functional/ft_31_part_blocking.rb +11 -11
  195. data/test/functional/ft_32_scope.rb +50 -0
  196. data/test/functional/ft_33_participant_subprocess_priority.rb +3 -3
  197. data/test/functional/ft_34_cursor_rewind.rb +14 -14
  198. data/test/functional/ft_35_add_service.rb +67 -9
  199. data/test/functional/ft_36_storage_history.rb +92 -24
  200. data/test/functional/ft_37_default_history.rb +35 -23
  201. data/test/functional/ft_38_participant_more.rb +189 -32
  202. data/test/functional/ft_39_wait_for.rb +25 -25
  203. data/test/functional/ft_3_participant_registration.rb +235 -107
  204. data/test/functional/ft_40_wait_logger.rb +105 -18
  205. data/test/functional/ft_41_participants.rb +13 -12
  206. data/test/functional/ft_42_storage_copy.rb +12 -12
  207. data/test/functional/ft_43_participant_on_reply.rb +85 -11
  208. data/test/functional/ft_44_var_participant.rb +5 -5
  209. data/test/functional/ft_45_participant_accept.rb +3 -3
  210. data/test/functional/ft_46_launch_single.rb +17 -17
  211. data/test/functional/ft_47_wfids.rb +41 -0
  212. data/test/functional/ft_48_lose.rb +19 -25
  213. data/test/functional/ft_49_engine_on_error.rb +54 -70
  214. data/test/functional/ft_4_cancel.rb +84 -26
  215. data/test/functional/ft_50_engine_config.rb +4 -4
  216. data/test/functional/ft_51_misc.rb +12 -12
  217. data/test/functional/ft_52_case.rb +17 -17
  218. data/test/functional/ft_53_engine_on_terminate.rb +18 -21
  219. data/test/functional/ft_54_patterns.rb +18 -16
  220. data/test/functional/ft_55_engine_participant.rb +55 -55
  221. data/test/functional/ft_56_filter_attribute.rb +90 -52
  222. data/test/functional/ft_57_rev_participant.rb +252 -0
  223. data/test/functional/ft_58_workitem.rb +150 -0
  224. data/test/functional/ft_59_pause.rb +329 -0
  225. data/test/functional/ft_5_on_error.rb +430 -77
  226. data/test/functional/ft_60_code_participant.rb +65 -0
  227. data/test/functional/ft_61_trailing_fields.rb +34 -0
  228. data/test/functional/ft_62_exp_name_and_dollar_substitution.rb +35 -0
  229. data/test/functional/ft_63_participants_221.rb +458 -0
  230. data/test/functional/ft_64_stash.rb +41 -0
  231. data/test/functional/ft_65_timers.rb +313 -0
  232. data/test/functional/ft_66_flank.rb +133 -0
  233. data/test/functional/ft_67_radial_misc.rb +34 -0
  234. data/test/functional/ft_68_reput.rb +72 -0
  235. data/test/functional/ft_69_worker_info.rb +56 -0
  236. data/test/functional/ft_6_on_cancel.rb +189 -36
  237. data/test/functional/ft_70_take_and_discard_attributes.rb +94 -0
  238. data/test/functional/ft_71_retries.rb +144 -0
  239. data/test/functional/ft_72_on_terminate.rb +60 -0
  240. data/test/functional/ft_73_raise_msg.rb +107 -0
  241. data/test/functional/ft_74_respark.rb +106 -0
  242. data/test/functional/ft_75_context.rb +66 -0
  243. data/test/functional/ft_76_observer.rb +53 -0
  244. data/test/functional/ft_77_process_observer.rb +157 -0
  245. data/test/functional/ft_78_part_participant.rb +37 -0
  246. data/test/functional/ft_7_tags.rb +238 -50
  247. data/test/functional/ft_8_participant_consumption.rb +27 -21
  248. data/test/functional/ft_9_subprocesses.rb +48 -18
  249. data/test/functional/restart_base.rb +4 -6
  250. data/test/functional/rt_0_wait.rb +10 -10
  251. data/test/functional/rt_1_listen.rb +6 -6
  252. data/test/functional/rt_2_errors.rb +12 -12
  253. data/test/functional/rt_3_once.rb +17 -12
  254. data/test/functional/rt_4_cron.rb +17 -17
  255. data/test/functional/rt_5_timeout.rb +13 -13
  256. data/test/functional/signals.rb +103 -0
  257. data/test/functional/storage.rb +730 -0
  258. data/test/functional/storage_helper.rb +48 -35
  259. data/test/functional/test.rb +6 -2
  260. data/test/misc/idle.rb +21 -0
  261. data/test/misc/light.rb +29 -0
  262. data/test/path_helper.rb +1 -1
  263. data/test/test.rb +2 -5
  264. data/test/test_helper.rb +13 -0
  265. data/test/unit/test.rb +1 -4
  266. data/test/unit/ut_0_ruby_reader.rb +25 -9
  267. data/test/unit/ut_10_participants.rb +47 -0
  268. data/test/unit/ut_11_lookup.rb +59 -2
  269. data/test/unit/ut_12_wait_logger.rb +123 -0
  270. data/test/unit/ut_14_is_uri.rb +1 -1
  271. data/test/unit/ut_15_util.rb +1 -1
  272. data/test/unit/ut_16_reader.rb +136 -14
  273. data/test/unit/ut_17_merge.rb +155 -0
  274. data/test/unit/ut_19_part_template.rb +1 -1
  275. data/test/unit/ut_1_fei.rb +11 -2
  276. data/test/unit/ut_20_composite_storage.rb +27 -1
  277. data/test/unit/{ut_21_participant_list.rb → ut_21_svc_participant_list.rb} +2 -3
  278. data/test/unit/ut_22_filter.rb +231 -10
  279. data/test/unit/ut_23_svc_tracker.rb +48 -0
  280. data/test/unit/ut_24_radial_reader.rb +458 -0
  281. data/test/unit/ut_25_process_status.rb +143 -0
  282. data/test/unit/ut_26_deep.rb +131 -0
  283. data/test/unit/ut_2_dashboard.rb +114 -0
  284. data/test/unit/ut_3_worker.rb +54 -0
  285. data/test/unit/ut_4_expmap.rb +1 -1
  286. data/test/unit/ut_5_tree.rb +23 -23
  287. data/test/unit/ut_6_condition.rb +71 -29
  288. data/test/unit/ut_7_workitem.rb +18 -4
  289. data/test/unit/ut_8_tree_to_dot.rb +1 -1
  290. data/test/unit/ut_9_xml_reader.rb +1 -1
  291. metadata +142 -63
  292. data/jruby_issue.txt +0 -32
  293. data/lib/ruote/engine/process_status.rb +0 -403
  294. data/lib/ruote/log/pretty.rb +0 -165
  295. data/lib/ruote/log/test_logger.rb +0 -204
  296. data/lib/ruote/util/serializer.rb +0 -103
  297. data/phil.txt +0 -14
  298. data/test/functional/eft_33_let.rb +0 -31
  299. data/test/functional/ft_19_alias.rb +0 -33
  300. data/test/functional/ft_47_wfid_generator.rb +0 -54
  301. data/test/unit/storage.rb +0 -403
  302. data/test/unit/storages.rb +0 -37
  303. data/test/unit/ut_13_serializer.rb +0 -65
  304. data/test/unit/ut_18_engine.rb +0 -47
  305. data/test/unit/ut_3_wait_logger.rb +0 -39
@@ -5,9 +5,9 @@
5
5
  # Thu May 21 15:29:48 JST 2009
6
6
  #
7
7
 
8
- require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
8
+ require File.expand_path('../../test_helper', __FILE__)
9
9
 
10
- require 'ruote/engine/process_status'
10
+ require 'ruote/util/tree'
11
11
 
12
12
 
13
13
  class TreeTest < Test::Unit::TestCase
@@ -15,40 +15,40 @@ class TreeTest < Test::Unit::TestCase
15
15
  def test_decompose_tree
16
16
 
17
17
  assert_equal(
18
- {"0"=>["define", {"name"=>"nada"}],
19
- "0_0"=>["sequence", {}],
20
- "0_0_0"=>["alpha", {}],
21
- "0_0_1"=>["bravo", {}]},
18
+ { '0' => [ 'define', { 'name' => 'nada' } ],
19
+ '0_0' => [ 'sequence', {} ],
20
+ '0_0_0' => [ 'alpha', {} ],
21
+ '0_0_1' => [ 'bravo', {} ] },
22
22
  Ruote.decompose_tree(
23
- ["define", {"name"=>"nada"}, [
24
- ["sequence", {}, [["alpha", {}, []], ["bravo", {}, []]]]
25
- ]]))
23
+ [ 'define', { 'name' => 'nada' }, [
24
+ [ 'sequence', {}, [ [ 'alpha', {}, [] ], [ 'bravo', {}, [] ] ] ]
25
+ ] ]))
26
26
  end
27
27
 
28
28
  def test_decompose_sub_tree
29
29
 
30
30
  assert_equal(
31
- {"0_1"=>["define", {"name"=>"nada"}],
32
- "0_1_0"=>["sequence", {}],
33
- "0_1_0_0"=>["alpha", {}],
34
- "0_1_0_1"=>["bravo", {}]},
31
+ { '0_1' => [ 'define', { 'name' => 'nada' } ],
32
+ '0_1_0' => [ 'sequence', {} ],
33
+ '0_1_0_0' => [ 'alpha', {} ],
34
+ '0_1_0_1' => [ 'bravo', {} ]},
35
35
  Ruote.decompose_tree(
36
- ["define", {"name"=>"nada"}, [
37
- ["sequence", {}, [["alpha", {}, []], ["bravo", {}, []]]]
38
- ]], '0_1'))
36
+ [ 'define', { 'name' => 'nada' }, [
37
+ [ 'sequence', {}, [ [ 'alpha', {}, [] ], [ 'bravo', {}, [] ] ] ]
38
+ ] ], '0_1'))
39
39
  end
40
40
 
41
41
  def test_recompose_tree
42
42
 
43
43
  assert_equal(
44
- ["define", {"name"=>"nada"}, [
45
- ["sequence", {}, [["alpha", {}, []], ["bravo", {}, []]]]
46
- ]],
44
+ [ 'define', { 'name' => 'nada' }, [
45
+ [ 'sequence', {}, [ [ 'alpha', {}, [] ], [ 'bravo', {}, [] ] ] ]
46
+ ] ],
47
47
  Ruote.recompose_tree(
48
- {"0"=>["define", {"name"=>"nada"}],
49
- "0_0"=>["sequence", {}],
50
- "0_0_0"=>["alpha", {}],
51
- "0_0_1"=>["bravo", {}]}))
48
+ { '0' => [ 'define', { 'name' => 'nada' } ],
49
+ '0_0' => [ 'sequence', {} ],
50
+ '0_0_0' => [ 'alpha', {} ],
51
+ '0_0_1' => [ 'bravo', {} ] }))
52
52
  end
53
53
  end
54
54
 
@@ -5,7 +5,7 @@
5
5
  # Sun Jun 14 17:30:43 JST 2009
6
6
  #
7
7
 
8
- require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
8
+ require File.expand_path('../../test_helper', __FILE__)
9
9
 
10
10
  require 'ruote/svc/treechecker'
11
11
  require 'ruote/svc/expression_map'
@@ -23,14 +23,24 @@ class ConditionTest < Test::Unit::TestCase
23
23
  end
24
24
  end
25
25
 
26
- def assert_not_skip(result, h)
26
+ def assert_apply(h)
27
27
 
28
- fe = FakeExpression.new(h)
28
+ e = FakeExpression.new(h)
29
+ a = [ e.attribute(:if), e.attribute(:unless) ]
29
30
 
30
- sif = fe.attribute(:if)
31
- sunless = fe.attribute(:unless)
31
+ assert(
32
+ Ruote::Exp::Condition.apply?(*a),
33
+ "exp #{h.inspect} was meant to be applied (#{a.inspect})")
34
+ end
35
+
36
+ def assert_skip(h)
32
37
 
33
- assert_equal result, Ruote::Exp::Condition.apply?(sif, sunless)
38
+ e = FakeExpression.new(h)
39
+ a = [ e.attribute(:if), e.attribute(:unless) ]
40
+
41
+ assert(
42
+ ! Ruote::Exp::Condition.apply?(*a),
43
+ "exp #{h.inspect} was meant to be skipped (#{a.inspect})")
34
44
  end
35
45
 
36
46
  def assert_b(b, conditional=nil)
@@ -46,39 +56,50 @@ class ConditionTest < Test::Unit::TestCase
46
56
  ">#{conditional}< was expected to be #{b}")
47
57
  end
48
58
 
59
+ def test_blank
60
+
61
+ assert_b(false, '')
62
+ assert_b(false, ' ')
63
+ assert_b(true, true)
64
+ assert_b(false, false)
65
+ end
66
+
49
67
  def test_if
50
68
 
51
- assert_not_skip false, :if => 'true == false'
52
- assert_not_skip false, :if => "'true' == 'false'"
53
- assert_not_skip false, :if => '"true" == "false"'
69
+ assert_skip :if => 'true == false'
70
+ assert_skip :if => "'true' == 'false'"
71
+ assert_skip :if => '"true" == "false"'
54
72
 
55
- assert_not_skip true, :if => 'a == a'
56
- assert_not_skip true, :if => '"a" == "a"'
73
+ assert_skip :if => ''
74
+ assert_skip :if => ' '
57
75
 
58
- assert_not_skip true, :if => 'blah blah blah'
76
+ assert_apply :if => 'a == a'
77
+ assert_apply :if => '"a" == "a"'
78
+
79
+ assert_apply :if => 'blah blah blah'
59
80
  end
60
81
 
61
82
  def test_unless
62
83
 
63
- assert_not_skip true, :unless => 'true == false'
64
- assert_not_skip false, :unless => 'false == false'
84
+ assert_apply :unless => 'true == false'
85
+ assert_skip :unless => 'false == false'
65
86
  end
66
87
 
67
88
  def test_set
68
89
 
69
- assert_not_skip true, :if => 'true set'
70
- assert_not_skip true, :if => "'true' set"
71
- assert_not_skip true, :if => '"true" set'
90
+ assert_apply :if => 'true set'
91
+ assert_apply :if => "'true' set"
92
+ assert_apply :if => '"true" set'
72
93
 
73
- assert_not_skip true, :if => 'true is set'
74
- assert_not_skip true, :if => '"true" is set'
75
- assert_not_skip true, :if => "'true' is set"
76
- assert_not_skip false, :if => 'true is not set'
94
+ assert_apply :if => 'true is set'
95
+ assert_apply :if => '"true" is set'
96
+ assert_apply :if => "'true' is set"
97
+ assert_skip :if => 'true is not set'
77
98
  end
78
99
 
79
100
  def test_illegal_code
80
101
 
81
- assert_not_skip true, :if => 'exit'
102
+ assert_apply :if => 'exit'
82
103
  end
83
104
 
84
105
  def test_true
@@ -126,12 +147,12 @@ class ConditionTest < Test::Unit::TestCase
126
147
 
127
148
  def test_strip
128
149
 
129
- assert_not_skip true, :if => 'a == a '
130
- assert_not_skip true, :if => ' a == a '
131
- assert_not_skip true, :if => ' a == a'
132
- assert_not_skip true, :if => 'a == a'
133
- assert_not_skip true, :if => 'a == a'
134
- assert_not_skip true, :if => 'a==a'
150
+ assert_apply :if => 'a == a '
151
+ assert_apply :if => ' a == a '
152
+ assert_apply :if => ' a == a'
153
+ assert_apply :if => 'a == a'
154
+ assert_apply :if => 'a == a'
155
+ assert_apply :if => 'a==a'
135
156
  end
136
157
 
137
158
  def test_boolean_literals
@@ -145,6 +166,15 @@ class ConditionTest < Test::Unit::TestCase
145
166
  assert_b true, "'some dude' == 'some dude'"
146
167
  assert_b true, "some dude == \"some dude\""
147
168
  assert_b true, "some dude == 'some dude'"
169
+
170
+ assert_b false, "'some other dude' == 'some dude'"
171
+ assert_b false, "some other dude == 'some dude'"
172
+ end
173
+
174
+ def test_numbers
175
+
176
+ assert_b true, '2.310000 > 0'
177
+ assert_b false, '2.310000 < 0'
148
178
  end
149
179
 
150
180
  def test_and_or
@@ -196,6 +226,14 @@ class ConditionTest < Test::Unit::TestCase
196
226
  assert_e 'Loan', 'Loan'
197
227
  assert_e 'Loan/Grant', 'Loan/Grant'
198
228
  assert_e 'Loan/Grant', 'Loan / Grant'
229
+
230
+ assert_e 'redo', '"redo"'
231
+ end
232
+
233
+ def test_something_or_not
234
+
235
+ assert_b "something"
236
+ assert_b false, ""
199
237
  end
200
238
 
201
239
  def test_is_empty
@@ -259,6 +297,9 @@ class ConditionTest < Test::Unit::TestCase
259
297
 
260
298
  assert_b false, "3 in [1, 2]"
261
299
  assert_b false, "2 in {1 => 2}"
300
+
301
+ assert_b "a in [a, b]"
302
+ assert_b "'a' in [a, b]"
262
303
  end
263
304
 
264
305
  def test_not_in
@@ -276,9 +317,10 @@ class ConditionTest < Test::Unit::TestCase
276
317
  assert_b false, "1 in {x}"
277
318
  end
278
319
 
279
- def test_comparators
320
+ def test_matching
280
321
 
281
322
  assert_b "alpha =~ /^a/"
323
+ assert_b "'alpha toto' =~ /^a/"
282
324
  assert_b false, "alpha =~ /^b/"
283
325
  end
284
326
  end
@@ -5,14 +5,15 @@
5
5
  # Mon Jun 15 16:43:06 JST 2009
6
6
  #
7
7
 
8
- require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
8
+
9
+ require File.expand_path('../../test_helper', __FILE__)
10
+
11
+ #require_json
12
+ require 'rufus-json/automatic'
9
13
 
10
14
  require 'ruote/fei'
11
15
  require 'ruote/workitem'
12
16
 
13
- require_json
14
- require 'rufus/json'
15
-
16
17
 
17
18
  class UtWorkitemTest < Test::Unit::TestCase
18
19
 
@@ -46,6 +47,11 @@ class UtWorkitemTest < Test::Unit::TestCase
46
47
 
47
48
  w0.set_field('customer.address', [ 'Cornwall Square 10b', 'Singapore-La' ])
48
49
  assert_equal 'Cornwall Square 10b', w0.lookup('customer.address.0')
50
+
51
+ assert_equal 'Jeff', w0['customer.name']
52
+
53
+ w0['customer.address'] = [ 'hondouri', 'hiroshima' ]
54
+ assert_equal 'hiroshima', w0['customer.address.1']
49
55
  end
50
56
 
51
57
  #def test_indifferent_access
@@ -71,6 +77,14 @@ class UtWorkitemTest < Test::Unit::TestCase
71
77
  assert_equal '20101224-baba', w0.wfid
72
78
  end
73
79
 
80
+ def test_command
81
+
82
+ wi = Ruote::Workitem.new(
83
+ 'fei' => 'x', 'fields' => { '__command__' => %w[ jump shark ] })
84
+
85
+ assert_equal %w[ jump shark ], wi.command
86
+ end
87
+
74
88
  WI = {
75
89
  'fei' => {
76
90
  'expid' => '0',
@@ -5,7 +5,7 @@
5
5
  # Wed Jul 15 09:27:20 JST 2009
6
6
  #
7
7
 
8
- require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
8
+ require File.expand_path('../../test_helper', __FILE__)
9
9
 
10
10
  require 'ruote/reader/ruby_dsl'
11
11
  require 'ruote/tree_dot'
@@ -5,7 +5,7 @@
5
5
  # Fri Jul 31 09:50:13 JST 2009
6
6
  #
7
7
 
8
- require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
8
+ require File.expand_path('../../test_helper', __FILE__)
9
9
 
10
10
  require 'ruote/reader/xml'
11
11
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruote
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 3
5
+ prerelease:
5
6
  segments:
6
7
  - 2
7
- - 2
8
+ - 3
8
9
  - 0
9
- version: 2.2.0
10
+ version: 2.3.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - John Mettraux
@@ -16,166 +17,195 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-03-01 00:00:00 +09:00
20
- default_executable:
20
+ date: 2012-09-03 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
- name: sourcify
23
+ name: blankslate
24
24
  prerelease: false
25
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
26
  none: false
27
27
  requirements:
28
- - - "="
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
+ hash: 103
30
31
  segments:
31
- - 0
32
- - 4
33
32
  - 2
34
- version: 0.4.2
33
+ - 1
34
+ - 2
35
+ - 4
36
+ version: 2.1.2.4
35
37
  type: :runtime
36
38
  version_requirements: *id001
37
39
  - !ruby/object:Gem::Dependency
38
- name: rufus-json
40
+ name: parslet
39
41
  prerelease: false
40
42
  requirement: &id002 !ruby/object:Gem::Requirement
41
43
  none: false
42
44
  requirements:
43
45
  - - ">="
44
46
  - !ruby/object:Gem::Version
47
+ hash: 7
45
48
  segments:
49
+ - 1
50
+ - 4
46
51
  - 0
47
- - 2
48
- - 5
49
- version: 0.2.5
52
+ version: 1.4.0
50
53
  type: :runtime
51
54
  version_requirements: *id002
52
55
  - !ruby/object:Gem::Dependency
53
- name: rufus-cloche
56
+ name: sourcify
54
57
  prerelease: false
55
58
  requirement: &id003 !ruby/object:Gem::Requirement
56
59
  none: false
57
60
  requirements:
58
- - - ">="
61
+ - - "="
59
62
  - !ruby/object:Gem::Version
63
+ hash: 11
60
64
  segments:
61
65
  - 0
62
- - 1
63
- - 20
64
- version: 0.1.20
66
+ - 5
67
+ - 0
68
+ version: 0.5.0
65
69
  type: :runtime
66
70
  version_requirements: *id003
67
71
  - !ruby/object:Gem::Dependency
68
- name: rufus-dollar
72
+ name: rufus-json
69
73
  prerelease: false
70
74
  requirement: &id004 !ruby/object:Gem::Requirement
71
75
  none: false
72
76
  requirements:
73
77
  - - ">="
74
78
  - !ruby/object:Gem::Version
79
+ hash: 21
75
80
  segments:
76
81
  - 1
77
82
  - 0
78
- - 4
79
- version: 1.0.4
83
+ - 1
84
+ version: 1.0.1
80
85
  type: :runtime
81
86
  version_requirements: *id004
82
87
  - !ruby/object:Gem::Dependency
83
- name: rufus-mnemo
88
+ name: rufus-cloche
84
89
  prerelease: false
85
90
  requirement: &id005 !ruby/object:Gem::Requirement
86
91
  none: false
87
92
  requirements:
88
93
  - - ">="
89
94
  - !ruby/object:Gem::Version
95
+ hash: 19
90
96
  segments:
91
97
  - 1
92
- - 1
93
98
  - 0
94
- version: 1.1.0
99
+ - 2
100
+ version: 1.0.2
95
101
  type: :runtime
96
102
  version_requirements: *id005
97
103
  - !ruby/object:Gem::Dependency
98
- name: rufus-scheduler
104
+ name: rufus-dollar
99
105
  prerelease: false
100
106
  requirement: &id006 !ruby/object:Gem::Requirement
101
107
  none: false
102
108
  requirements:
103
109
  - - ">="
104
110
  - !ruby/object:Gem::Version
111
+ hash: 31
105
112
  segments:
106
- - 2
113
+ - 1
107
114
  - 0
108
- - 8
109
- version: 2.0.8
115
+ - 4
116
+ version: 1.0.4
110
117
  type: :runtime
111
118
  version_requirements: *id006
112
119
  - !ruby/object:Gem::Dependency
113
- name: rufus-treechecker
120
+ name: rufus-mnemo
114
121
  prerelease: false
115
122
  requirement: &id007 !ruby/object:Gem::Requirement
116
123
  none: false
117
124
  requirements:
118
125
  - - ">="
119
126
  - !ruby/object:Gem::Version
127
+ hash: 27
120
128
  segments:
121
129
  - 1
122
- - 0
123
- - 4
124
- version: 1.0.4
130
+ - 2
131
+ - 2
132
+ version: 1.2.2
125
133
  type: :runtime
126
134
  version_requirements: *id007
127
135
  - !ruby/object:Gem::Dependency
128
- name: rake
136
+ name: rufus-scheduler
129
137
  prerelease: false
130
138
  requirement: &id008 !ruby/object:Gem::Requirement
131
139
  none: false
132
140
  requirements:
133
141
  - - ">="
134
142
  - !ruby/object:Gem::Version
143
+ hash: 47
135
144
  segments:
145
+ - 2
136
146
  - 0
137
- version: "0"
138
- type: :development
147
+ - 16
148
+ version: 2.0.16
149
+ type: :runtime
139
150
  version_requirements: *id008
140
151
  - !ruby/object:Gem::Dependency
141
- name: json
152
+ name: rufus-treechecker
142
153
  prerelease: false
143
154
  requirement: &id009 !ruby/object:Gem::Requirement
144
155
  none: false
145
156
  requirements:
146
157
  - - ">="
147
158
  - !ruby/object:Gem::Version
159
+ hash: 7
148
160
  segments:
161
+ - 1
149
162
  - 0
150
- version: "0"
151
- type: :development
163
+ - 8
164
+ version: 1.0.8
165
+ type: :runtime
152
166
  version_requirements: *id009
153
167
  - !ruby/object:Gem::Dependency
154
- name: builder
168
+ name: rake
155
169
  prerelease: false
156
170
  requirement: &id010 !ruby/object:Gem::Requirement
157
171
  none: false
158
172
  requirements:
159
173
  - - ">="
160
174
  - !ruby/object:Gem::Version
175
+ hash: 3
161
176
  segments:
162
177
  - 0
163
178
  version: "0"
164
179
  type: :development
165
180
  version_requirements: *id010
166
181
  - !ruby/object:Gem::Dependency
167
- name: mailtrap
182
+ name: json
168
183
  prerelease: false
169
184
  requirement: &id011 !ruby/object:Gem::Requirement
170
185
  none: false
171
186
  requirements:
172
187
  - - ">="
173
188
  - !ruby/object:Gem::Version
189
+ hash: 3
174
190
  segments:
175
191
  - 0
176
192
  version: "0"
177
193
  type: :development
178
194
  version_requirements: *id011
195
+ - !ruby/object:Gem::Dependency
196
+ name: mailtrap
197
+ prerelease: false
198
+ requirement: &id012 !ruby/object:Gem::Requirement
199
+ none: false
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ hash: 3
204
+ segments:
205
+ - 0
206
+ version: "0"
207
+ type: :development
208
+ version_requirements: *id012
179
209
  description: "\n\
180
210
  ruote is an open source Ruby workflow engine\n "
181
211
  email:
@@ -189,14 +219,16 @@ extra_rdoc_files: []
189
219
  files:
190
220
  - Rakefile
191
221
  - lib/ruote/context.rb
192
- - lib/ruote/engine/process_error.rb
193
- - lib/ruote/engine/process_status.rb
222
+ - lib/ruote/dashboard.rb
223
+ - lib/ruote/dboard/process_error.rb
224
+ - lib/ruote/dboard/process_status.rb
194
225
  - lib/ruote/engine.rb
195
226
  - lib/ruote/exp/command.rb
196
227
  - lib/ruote/exp/commanded.rb
197
228
  - lib/ruote/exp/condition.rb
198
229
  - lib/ruote/exp/fe_add_branches.rb
199
230
  - lib/ruote/exp/fe_apply.rb
231
+ - lib/ruote/exp/fe_await.rb
200
232
  - lib/ruote/exp/fe_cancel_process.rb
201
233
  - lib/ruote/exp/fe_command.rb
202
234
  - lib/ruote/exp/fe_concurrence.rb
@@ -213,12 +245,13 @@ files:
213
245
  - lib/ruote/exp/fe_if.rb
214
246
  - lib/ruote/exp/fe_inc.rb
215
247
  - lib/ruote/exp/fe_iterator.rb
216
- - lib/ruote/exp/fe_let.rb
217
248
  - lib/ruote/exp/fe_listen.rb
218
249
  - lib/ruote/exp/fe_lose.rb
219
250
  - lib/ruote/exp/fe_noop.rb
251
+ - lib/ruote/exp/fe_on_error.rb
220
252
  - lib/ruote/exp/fe_once.rb
221
253
  - lib/ruote/exp/fe_participant.rb
254
+ - lib/ruote/exp/fe_read.rb
222
255
  - lib/ruote/exp/fe_redo.rb
223
256
  - lib/ruote/exp/fe_ref.rb
224
257
  - lib/ruote/exp/fe_registerp.rb
@@ -227,35 +260,44 @@ files:
227
260
  - lib/ruote/exp/fe_save.rb
228
261
  - lib/ruote/exp/fe_sequence.rb
229
262
  - lib/ruote/exp/fe_set.rb
263
+ - lib/ruote/exp/fe_stall.rb
230
264
  - lib/ruote/exp/fe_subprocess.rb
231
265
  - lib/ruote/exp/fe_that.rb
232
266
  - lib/ruote/exp/fe_undo.rb
233
267
  - lib/ruote/exp/fe_unregisterp.rb
234
268
  - lib/ruote/exp/fe_wait.rb
235
- - lib/ruote/exp/flowexpression.rb
269
+ - lib/ruote/exp/flow_expression.rb
236
270
  - lib/ruote/exp/iterator.rb
237
271
  - lib/ruote/exp/merge.rb
238
272
  - lib/ruote/exp/ro_attributes.rb
239
273
  - lib/ruote/exp/ro_filters.rb
274
+ - lib/ruote/exp/ro_on_x.rb
240
275
  - lib/ruote/exp/ro_persist.rb
276
+ - lib/ruote/exp/ro_timers.rb
241
277
  - lib/ruote/exp/ro_variables.rb
242
278
  - lib/ruote/fei.rb
279
+ - lib/ruote/fs.rb
243
280
  - lib/ruote/id/mnemo_wfid_generator.rb
244
281
  - lib/ruote/id/wfid_generator.rb
245
282
  - lib/ruote/log/default_history.rb
246
- - lib/ruote/log/pretty.rb
283
+ - lib/ruote/log/fancy_printing.rb
247
284
  - lib/ruote/log/storage_history.rb
248
- - lib/ruote/log/test_logger.rb
249
285
  - lib/ruote/log/wait_logger.rb
286
+ - lib/ruote/observer.rb
250
287
  - lib/ruote/part/block_participant.rb
288
+ - lib/ruote/part/code_participant.rb
251
289
  - lib/ruote/part/engine_participant.rb
252
290
  - lib/ruote/part/local_participant.rb
253
291
  - lib/ruote/part/no_op_participant.rb
254
292
  - lib/ruote/part/null_participant.rb
293
+ - lib/ruote/part/participant.rb
294
+ - lib/ruote/part/rev_participant.rb
255
295
  - lib/ruote/part/smtp_participant.rb
256
296
  - lib/ruote/part/storage_participant.rb
257
297
  - lib/ruote/part/template.rb
258
298
  - lib/ruote/participant.rb
299
+ - lib/ruote/reader/json.rb
300
+ - lib/ruote/reader/radial.rb
259
301
  - lib/ruote/reader/ruby_dsl.rb
260
302
  - lib/ruote/reader/xml.rb
261
303
  - lib/ruote/reader.rb
@@ -272,19 +314,22 @@ files:
272
314
  - lib/ruote/svc/tracker.rb
273
315
  - lib/ruote/svc/treechecker.rb
274
316
  - lib/ruote/tree_dot.rb
317
+ - lib/ruote/util/deep.rb
275
318
  - lib/ruote/util/filter.rb
276
319
  - lib/ruote/util/hashdot.rb
277
320
  - lib/ruote/util/look.rb
278
321
  - lib/ruote/util/lookup.rb
279
322
  - lib/ruote/util/misc.rb
323
+ - lib/ruote/util/mpatch.rb
280
324
  - lib/ruote/util/ometa.rb
281
- - lib/ruote/util/serializer.rb
325
+ - lib/ruote/util/process_observer.rb
282
326
  - lib/ruote/util/subprocess.rb
283
327
  - lib/ruote/util/time.rb
284
328
  - lib/ruote/util/tree.rb
285
329
  - lib/ruote/version.rb
286
330
  - lib/ruote/worker.rb
287
331
  - lib/ruote/workitem.rb
332
+ - lib/ruote-fs.rb
288
333
  - lib/ruote.rb
289
334
  - test/bm/ci.rb
290
335
  - test/bm/ici.rb
@@ -300,7 +345,7 @@ files:
300
345
  - test/functional/ct_0_concurrence.rb
301
346
  - test/functional/ct_1_iterator.rb
302
347
  - test/functional/ct_2_cancel.rb
303
- - test/functional/eft_0_process_definition.rb
348
+ - test/functional/eft_0_flow_expression.rb
304
349
  - test/functional/eft_10_cancel_process.rb
305
350
  - test/functional/eft_11_wait.rb
306
351
  - test/functional/eft_12_listen.rb
@@ -326,10 +371,14 @@ files:
326
371
  - test/functional/eft_30_ref.rb
327
372
  - test/functional/eft_31_registerp.rb
328
373
  - test/functional/eft_32_lose.rb
329
- - test/functional/eft_33_let.rb
330
374
  - test/functional/eft_34_given.rb
331
375
  - test/functional/eft_35_filter.rb
376
+ - test/functional/eft_36_read.rb
377
+ - test/functional/eft_37_process_definition.rb
378
+ - test/functional/eft_38_on_error.rb
379
+ - test/functional/eft_39_stall.rb
332
380
  - test/functional/eft_3_participant.rb
381
+ - test/functional/eft_40_await.rb
333
382
  - test/functional/eft_4_set.rb
334
383
  - test/functional/eft_5_subprocess.rb
335
384
  - test/functional/eft_6_concurrence.rb
@@ -346,7 +395,7 @@ files:
346
395
  - test/functional/ft_16_participant_params.rb
347
396
  - test/functional/ft_17_conditional.rb
348
397
  - test/functional/ft_18_kill.rb
349
- - test/functional/ft_19_alias.rb
398
+ - test/functional/ft_19_participant_code.rb
350
399
  - test/functional/ft_1_process_status.rb
351
400
  - test/functional/ft_20_storage_participant.rb
352
401
  - test/functional/ft_21_forget.rb
@@ -361,6 +410,7 @@ files:
361
410
  - test/functional/ft_2_errors.rb
362
411
  - test/functional/ft_30_smtp_participant.rb
363
412
  - test/functional/ft_31_part_blocking.rb
413
+ - test/functional/ft_32_scope.rb
364
414
  - test/functional/ft_33_participant_subprocess_priority.rb
365
415
  - test/functional/ft_34_cursor_rewind.rb
366
416
  - test/functional/ft_35_add_service.rb
@@ -376,7 +426,7 @@ files:
376
426
  - test/functional/ft_44_var_participant.rb
377
427
  - test/functional/ft_45_participant_accept.rb
378
428
  - test/functional/ft_46_launch_single.rb
379
- - test/functional/ft_47_wfid_generator.rb
429
+ - test/functional/ft_47_wfids.rb
380
430
  - test/functional/ft_48_lose.rb
381
431
  - test/functional/ft_49_engine_on_error.rb
382
432
  - test/functional/ft_4_cancel.rb
@@ -387,8 +437,30 @@ files:
387
437
  - test/functional/ft_54_patterns.rb
388
438
  - test/functional/ft_55_engine_participant.rb
389
439
  - test/functional/ft_56_filter_attribute.rb
440
+ - test/functional/ft_57_rev_participant.rb
441
+ - test/functional/ft_58_workitem.rb
442
+ - test/functional/ft_59_pause.rb
390
443
  - test/functional/ft_5_on_error.rb
444
+ - test/functional/ft_60_code_participant.rb
445
+ - test/functional/ft_61_trailing_fields.rb
446
+ - test/functional/ft_62_exp_name_and_dollar_substitution.rb
447
+ - test/functional/ft_63_participants_221.rb
448
+ - test/functional/ft_64_stash.rb
449
+ - test/functional/ft_65_timers.rb
450
+ - test/functional/ft_66_flank.rb
451
+ - test/functional/ft_67_radial_misc.rb
452
+ - test/functional/ft_68_reput.rb
453
+ - test/functional/ft_69_worker_info.rb
391
454
  - test/functional/ft_6_on_cancel.rb
455
+ - test/functional/ft_70_take_and_discard_attributes.rb
456
+ - test/functional/ft_71_retries.rb
457
+ - test/functional/ft_72_on_terminate.rb
458
+ - test/functional/ft_73_raise_msg.rb
459
+ - test/functional/ft_74_respark.rb
460
+ - test/functional/ft_75_context.rb
461
+ - test/functional/ft_76_observer.rb
462
+ - test/functional/ft_77_process_observer.rb
463
+ - test/functional/ft_78_part_participant.rb
392
464
  - test/functional/ft_7_tags.rb
393
465
  - test/functional/ft_8_participant_consumption.rb
394
466
  - test/functional/ft_9_subprocesses.rb
@@ -400,28 +472,36 @@ files:
400
472
  - test/functional/rt_4_cron.rb
401
473
  - test/functional/rt_5_timeout.rb
402
474
  - test/functional/rtest.rb
475
+ - test/functional/signals.rb
476
+ - test/functional/storage.rb
403
477
  - test/functional/storage_helper.rb
404
478
  - test/functional/test.rb
405
479
  - test/functional/vertical.rb
480
+ - test/misc/idle.rb
481
+ - test/misc/light.rb
406
482
  - test/path_helper.rb
407
483
  - test/test.rb
408
484
  - test/test_helper.rb
409
- - test/unit/storage.rb
410
- - test/unit/storages.rb
411
485
  - test/unit/test.rb
412
486
  - test/unit/ut_0_ruby_reader.rb
487
+ - test/unit/ut_10_participants.rb
413
488
  - test/unit/ut_11_lookup.rb
414
- - test/unit/ut_13_serializer.rb
489
+ - test/unit/ut_12_wait_logger.rb
415
490
  - test/unit/ut_14_is_uri.rb
416
491
  - test/unit/ut_15_util.rb
417
492
  - test/unit/ut_16_reader.rb
418
- - test/unit/ut_18_engine.rb
493
+ - test/unit/ut_17_merge.rb
419
494
  - test/unit/ut_19_part_template.rb
420
495
  - test/unit/ut_1_fei.rb
421
496
  - test/unit/ut_20_composite_storage.rb
422
- - test/unit/ut_21_participant_list.rb
497
+ - test/unit/ut_21_svc_participant_list.rb
423
498
  - test/unit/ut_22_filter.rb
424
- - test/unit/ut_3_wait_logger.rb
499
+ - test/unit/ut_23_svc_tracker.rb
500
+ - test/unit/ut_24_radial_reader.rb
501
+ - test/unit/ut_25_process_status.rb
502
+ - test/unit/ut_26_deep.rb
503
+ - test/unit/ut_2_dashboard.rb
504
+ - test/unit/ut_3_worker.rb
425
505
  - test/unit/ut_4_expmap.rb
426
506
  - test/unit/ut_5_tree.rb
427
507
  - test/unit/ut_6_condition.rb
@@ -430,14 +510,11 @@ files:
430
510
  - test/unit/ut_9_xml_reader.rb
431
511
  - ruote.gemspec
432
512
  - CHANGELOG.txt
513
+ - couch_url.txt
433
514
  - CREDITS.txt
434
515
  - LICENSE.txt
435
516
  - TODO.txt
436
- - couch_url.txt
437
- - jruby_issue.txt
438
- - phil.txt
439
517
  - README.rdoc
440
- has_rdoc: true
441
518
  homepage: http://ruote.rubyforge.org
442
519
  licenses: []
443
520
 
@@ -451,6 +528,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
451
528
  requirements:
452
529
  - - ">="
453
530
  - !ruby/object:Gem::Version
531
+ hash: 3
454
532
  segments:
455
533
  - 0
456
534
  version: "0"
@@ -459,13 +537,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
459
537
  requirements:
460
538
  - - ">="
461
539
  - !ruby/object:Gem::Version
540
+ hash: 3
462
541
  segments:
463
542
  - 0
464
543
  version: "0"
465
544
  requirements: []
466
545
 
467
546
  rubyforge_project: ruote
468
- rubygems_version: 1.3.7
547
+ rubygems_version: 1.8.15
469
548
  signing_key:
470
549
  specification_version: 3
471
550
  summary: an open source Ruby workflow engine