ruote 2.2.0 → 2.3.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 (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