rules_engine 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (461) hide show
  1. data/README.textile +178 -0
  2. data/VERSION +1 -1
  3. data/lib/rules_engine.rb +17 -1
  4. data/lib/rules_engine/discovery.rb +2 -3
  5. data/lib/rules_engine/job.rb +120 -0
  6. data/lib/rules_engine/rule.rb +49 -24
  7. data/lib/rules_engine/rule_outcome.rb +1 -2
  8. data/lib/rules_engine_view/alerts.rb +56 -0
  9. data/lib/rules_engine_view/boxes.rb +32 -0
  10. data/lib/rules_engine_view/buttons.rb +91 -0
  11. data/lib/rules_engine_view/defer.rb +27 -0
  12. data/lib/rules_engine_view/form_builder.rb +63 -0
  13. data/lib/rules_engine_view/form_fields.rb +41 -0
  14. data/lib/rules_engine_view/form_styles.rb +107 -0
  15. data/lib/rules_engine_view/model_loader.rb +71 -0
  16. data/lib/rules_engine_view/navigate.rb +44 -0
  17. data/rails_generators/manifests/rules_engine.rb +392 -0
  18. data/rails_generators/manifests/rules_engine.yml +98 -0
  19. data/rails_generators/manifests/rules_engine_complex.rb +30 -0
  20. data/rails_generators/manifests/rules_engine_complex.yml +25 -0
  21. data/rails_generators/manifests/rules_engine_simple.rb +26 -0
  22. data/rails_generators/manifests/rules_engine_simple.yml +22 -0
  23. data/rails_generators/rules_engine_generator.rb +49 -23
  24. data/rails_generators/templates/app/controllers/re_jobs_controller.rb +8 -6
  25. data/rails_generators/templates/app/controllers/re_pipeline_jobs_controller.rb +6 -7
  26. data/rails_generators/templates/app/controllers/re_pipelines_controller.rb +36 -16
  27. data/rails_generators/templates/app/controllers/re_rules_controller.rb +49 -51
  28. data/rails_generators/templates/app/helpers/re_pipeline_helper.rb +0 -15
  29. data/rails_generators/templates/app/models/re_job.rb +55 -62
  30. data/rails_generators/templates/app/models/re_job_audit.rb +3 -7
  31. data/rails_generators/templates/app/models/re_pipeline.rb +1 -23
  32. data/rails_generators/templates/app/models/re_pipeline_activated.rb +3 -0
  33. data/rails_generators/templates/app/models/re_pipeline_activated_observer.rb +4 -4
  34. data/rails_generators/templates/app/models/re_pipeline_base.rb +5 -5
  35. data/rails_generators/templates/app/models/re_rule.rb +71 -24
  36. data/rails_generators/templates/app/models/re_rule_expected_outcome.rb +30 -0
  37. data/rails_generators/templates/app/rules/complex_rule.rb +133 -0
  38. data/rails_generators/templates/app/rules/simple_rule.rb +77 -0
  39. data/rails_generators/templates/app/views/layouts/rules_engine.html.erb +40 -0
  40. data/rails_generators/templates/app/views/re_jobs/_empty.html.erb +7 -4
  41. data/rails_generators/templates/app/views/re_jobs/_index_large.html.erb +79 -0
  42. data/rails_generators/templates/app/views/re_jobs/_index_small.html.erb +42 -0
  43. data/rails_generators/templates/app/views/re_jobs/_show.html.erb +11 -16
  44. data/rails_generators/templates/app/views/re_jobs/index.html.erb +11 -19
  45. data/rails_generators/templates/app/views/re_jobs/index.js.erb +9 -6
  46. data/rails_generators/templates/app/views/re_jobs/show.html.erb +10 -8
  47. data/rails_generators/templates/app/views/re_jobs/show.js.erb +4 -1
  48. data/rails_generators/templates/app/views/re_pipeline_jobs/index.html.erb +10 -16
  49. data/rails_generators/templates/app/views/re_pipeline_jobs/index.js.erb +10 -8
  50. data/rails_generators/templates/app/views/re_pipelines/_change.html.erb +17 -15
  51. data/rails_generators/templates/app/views/re_pipelines/_change_actions.html.erb +12 -12
  52. data/rails_generators/templates/app/views/re_pipelines/_confirm.html.erb +14 -15
  53. data/rails_generators/templates/app/views/re_pipelines/_edit.html.erb +7 -8
  54. data/rails_generators/templates/app/views/re_pipelines/_empty.html.erb +4 -4
  55. data/rails_generators/templates/app/views/re_pipelines/_index.html.erb +25 -19
  56. data/rails_generators/templates/app/views/re_pipelines/_new.html.erb +6 -6
  57. data/rails_generators/templates/app/views/re_pipelines/_show.html.erb +22 -18
  58. data/rails_generators/templates/app/views/re_pipelines/change.html.erb +8 -8
  59. data/rails_generators/templates/app/views/re_pipelines/create.js.erb +6 -5
  60. data/rails_generators/templates/app/views/re_pipelines/edit.html.erb +5 -4
  61. data/rails_generators/templates/app/views/re_pipelines/edit.js.erb +6 -3
  62. data/rails_generators/templates/app/views/re_pipelines/index.html.erb +65 -9
  63. data/rails_generators/templates/app/views/re_pipelines/index.js.erb +18 -0
  64. data/rails_generators/templates/app/views/re_pipelines/new.html.erb +2 -2
  65. data/rails_generators/templates/app/views/re_pipelines/new.js.erb +3 -3
  66. data/rails_generators/templates/app/views/re_pipelines/show.html.erb +17 -19
  67. data/rails_generators/templates/app/views/re_pipelines/template.html.erb +198 -0
  68. data/rails_generators/templates/app/views/re_pipelines/update.js.erb +7 -6
  69. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_edit.html.erb +7 -0
  70. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_help.html.erb +1 -0
  71. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_new.html.erb +7 -0
  72. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_pipeline.html.erb +22 -0
  73. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_script.html.erb +26 -0
  74. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_title.html.erb +7 -0
  75. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_word.html.erb +13 -0
  76. data/rails_generators/templates/app/views/re_rule_definitions/complex_rule/_words.html.erb +16 -0
  77. data/rails_generators/templates/app/views/re_rule_definitions/simple_rule/_edit.html.erb +1 -0
  78. data/rails_generators/templates/app/views/re_rule_definitions/simple_rule/_form.html.erb +16 -0
  79. data/rails_generators/templates/app/views/re_rule_definitions/simple_rule/_help.html.erb +1 -0
  80. data/rails_generators/templates/app/views/re_rule_definitions/simple_rule/_new.html.erb +1 -0
  81. data/rails_generators/templates/app/views/re_rules/_change.html.erb +25 -25
  82. data/rails_generators/templates/app/views/re_rules/_edit.html.erb +7 -16
  83. data/rails_generators/templates/app/views/re_rules/_empty.html.erb +4 -4
  84. data/rails_generators/templates/app/views/re_rules/_empty.js.erb +3 -3
  85. data/rails_generators/templates/app/views/re_rules/_error.html.erb +2 -0
  86. data/rails_generators/templates/app/views/re_rules/_help.html.erb +5 -5
  87. data/rails_generators/templates/app/views/re_rules/_index.html.erb +15 -15
  88. data/rails_generators/templates/app/views/re_rules/_menu.html.erb +32 -36
  89. data/rails_generators/templates/app/views/re_rules/_new.html.erb +9 -18
  90. data/rails_generators/templates/app/views/re_rules/_show.html.erb +17 -17
  91. data/rails_generators/templates/app/views/re_rules/destroy.js.erb +7 -6
  92. data/rails_generators/templates/app/views/re_rules/edit.html.erb +6 -5
  93. data/rails_generators/templates/app/views/re_rules/edit.js.erb +6 -3
  94. data/rails_generators/templates/app/views/re_rules/error.html.erb +6 -5
  95. data/rails_generators/templates/app/views/re_rules/error.js.erb +6 -2
  96. data/rails_generators/templates/app/views/re_rules/help.html.erb +6 -5
  97. data/rails_generators/templates/app/views/re_rules/help.js.erb +3 -1
  98. data/rails_generators/templates/app/views/re_rules/new.html.erb +14 -10
  99. data/rails_generators/templates/app/views/re_rules/new.js.erb +7 -3
  100. data/rails_generators/templates/app/views/re_rules/update.js.erb +11 -10
  101. data/rails_generators/templates/db/migrate/20100308225008_create_re_pipelines.rb +13 -10
  102. data/rails_generators/templates/doc/README.rules_engine +151 -0
  103. data/rails_generators/templates/doc/README.rules_engine_features +67 -0
  104. data/rails_generators/templates/doc/README.rules_engine_view +90 -0
  105. data/rails_generators/templates/features/re_pipeline/lookup.feature +16 -0
  106. data/rails_generators/templates/features/step_definitions/common/re_debug_steps.rb +14 -0
  107. data/rails_generators/templates/features/step_definitions/common/re_error_steps.rb +77 -0
  108. data/rails_generators/templates/features/step_definitions/common/re_form_steps.rb +59 -0
  109. data/rails_generators/templates/features/step_definitions/common/re_model_steps.rb +85 -0
  110. data/rails_generators/templates/features/step_definitions/common/re_user_steps.rb +52 -0
  111. data/rails_generators/templates/features/step_definitions/common/re_view_steps.rb +49 -0
  112. data/rails_generators/templates/features/support/blueprint_re_pipelines.rb +20 -0
  113. data/rails_generators/templates/features/support/rules_engine.rb +28 -0
  114. data/rails_generators/templates/lib/tasks/re_execute.rake +19 -0
  115. data/rails_generators/templates/public/javascripts/jquery-1.4.2.min.js +154 -0
  116. data/rails_generators/templates/public/javascripts/jquery.autocomplete.pack.js +13 -0
  117. data/rails_generators/templates/public/javascripts/jquery.blockUI.js +486 -0
  118. data/rails_generators/templates/public/javascripts/jquery.fancybox-1.3.1.js +1077 -0
  119. data/rails_generators/templates/public/javascripts/re_job_index.js +75 -0
  120. data/rails_generators/templates/public/javascripts/re_pipeline_change.js +85 -96
  121. data/rails_generators/templates/public/javascripts/re_pipeline_index.js +23 -7
  122. data/rails_generators/templates/public/javascripts/re_pipeline_index_jobs.js +10 -0
  123. data/rails_generators/templates/public/javascripts/re_pipeline_new.js +15 -19
  124. data/rails_generators/templates/public/javascripts/re_pipeline_show_jobs.js +11 -0
  125. data/rails_generators/templates/public/javascripts/re_view.js +132 -0
  126. data/rails_generators/templates/public/stylesheets/blueprint/ie.css +35 -0
  127. data/rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
  128. data/rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
  129. data/rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
  130. data/rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
  131. data/rails_generators/templates/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
  132. data/rails_generators/templates/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
  133. data/rails_generators/templates/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
  134. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
  135. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
  136. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
  137. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
  138. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
  139. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  140. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
  141. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
  142. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
  143. data/rails_generators/templates/public/stylesheets/blueprint/plugins/link-icons/screen.css +40 -0
  144. data/rails_generators/templates/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
  145. data/rails_generators/templates/public/stylesheets/blueprint/plugins/rtl/screen.css +110 -0
  146. data/rails_generators/templates/public/stylesheets/blueprint/print.css +29 -0
  147. data/rails_generators/templates/public/stylesheets/blueprint/screen.css +258 -0
  148. data/rails_generators/templates/public/stylesheets/blueprint/src/forms.css +65 -0
  149. data/rails_generators/templates/public/stylesheets/blueprint/src/grid.css +280 -0
  150. data/rails_generators/templates/public/stylesheets/blueprint/src/grid.png +0 -0
  151. data/rails_generators/templates/public/stylesheets/blueprint/src/ie.css +76 -0
  152. data/rails_generators/templates/public/stylesheets/blueprint/src/print.css +85 -0
  153. data/rails_generators/templates/public/stylesheets/blueprint/src/reset.css +45 -0
  154. data/rails_generators/templates/public/stylesheets/blueprint/src/typography.css +106 -0
  155. data/rails_generators/templates/public/stylesheets/fancybox/blank.gif +0 -0
  156. data/rails_generators/templates/public/stylesheets/fancybox/fancy_close.png +0 -0
  157. data/rails_generators/templates/public/stylesheets/fancybox/fancy_loading.png +0 -0
  158. data/rails_generators/templates/public/stylesheets/fancybox/fancy_nav_left.png +0 -0
  159. data/rails_generators/templates/public/stylesheets/fancybox/fancy_nav_right.png +0 -0
  160. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_e.png +0 -0
  161. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_n.png +0 -0
  162. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_ne.png +0 -0
  163. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_nw.png +0 -0
  164. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_s.png +0 -0
  165. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_se.png +0 -0
  166. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_sw.png +0 -0
  167. data/rails_generators/templates/public/stylesheets/fancybox/fancy_shadow_w.png +0 -0
  168. data/rails_generators/templates/public/stylesheets/fancybox/fancy_title_left.png +0 -0
  169. data/rails_generators/templates/public/stylesheets/fancybox/fancy_title_main.png +0 -0
  170. data/rails_generators/templates/public/stylesheets/fancybox/fancy_title_over.png +0 -0
  171. data/rails_generators/templates/public/stylesheets/fancybox/fancy_title_right.png +0 -0
  172. data/rails_generators/templates/public/stylesheets/fancybox/fancybox-x.png +0 -0
  173. data/rails_generators/templates/public/stylesheets/fancybox/fancybox-y.png +0 -0
  174. data/rails_generators/templates/public/stylesheets/fancybox/fancybox.png +0 -0
  175. data/rails_generators/templates/public/stylesheets/fancybox/jquery.fancybox-1.3.1.css +363 -0
  176. data/rails_generators/templates/public/stylesheets/jquery.autocomplete.css +53 -0
  177. data/rails_generators/templates/public/stylesheets/re_view.css +131 -0
  178. data/rails_generators/templates/public/stylesheets/re_view_box.css +119 -0
  179. data/rails_generators/templates/public/stylesheets/{re_pipeline → re_view_box}/accept.png +0 -0
  180. data/rails_generators/templates/public/stylesheets/{re_pipeline → re_view_box}/exclamation.png +0 -0
  181. data/rails_generators/templates/public/stylesheets/re_view_box/shadowbox.jpg +0 -0
  182. data/rails_generators/templates/public/stylesheets/re_view_box/shadowbox.png +0 -0
  183. data/rails_generators/templates/public/stylesheets/re_view_box/whitebox.jpg +0 -0
  184. data/rails_generators/templates/public/stylesheets/re_view_button.css +118 -0
  185. data/rails_generators/templates/public/stylesheets/re_view_button/checked-off.gif +0 -0
  186. data/rails_generators/templates/public/stylesheets/re_view_button/checked-on.gif +0 -0
  187. data/rails_generators/templates/public/{images/re_rule_class/add-18.png → stylesheets/re_view_button/icon-add.png} +0 -0
  188. data/rails_generators/templates/public/{images/re_pipeline/destroy-18.png → stylesheets/re_view_button/icon-delete.png} +0 -0
  189. data/rails_generators/templates/public/stylesheets/re_view_button/oval-blue-left.gif +0 -0
  190. data/rails_generators/templates/public/stylesheets/re_view_button/oval-blue-right.gif +0 -0
  191. data/rails_generators/templates/public/stylesheets/re_view_button/oval-gray-left.gif +0 -0
  192. data/rails_generators/templates/public/stylesheets/re_view_button/oval-gray-right.gif +0 -0
  193. data/rails_generators/templates/public/stylesheets/re_view_button/oval-green-left.gif +0 -0
  194. data/rails_generators/templates/public/stylesheets/re_view_button/oval-green-right.gif +0 -0
  195. data/rails_generators/templates/public/stylesheets/re_view_button/oval-orange-left.gif +0 -0
  196. data/rails_generators/templates/public/stylesheets/re_view_button/oval-orange-right.gif +0 -0
  197. data/rails_generators/templates/public/stylesheets/re_view_button/oval-red-left.gif +0 -0
  198. data/rails_generators/templates/public/stylesheets/re_view_button/oval-red-right.gif +0 -0
  199. data/rails_generators/templates/public/stylesheets/re_view_error.css +60 -0
  200. data/rails_generators/templates/public/{images/re_job/error-18.png → stylesheets/re_view_error/re-alert-close.png} +0 -0
  201. data/rails_generators/templates/public/stylesheets/re_view_form.css +120 -0
  202. data/rails_generators/templates/public/stylesheets/re_view_navigate.css +46 -0
  203. data/rails_generators/templates/public/stylesheets/re_view_navigate/breadcrumb.png +0 -0
  204. data/rails_generators/templates/public/stylesheets/re_view_table.css +137 -0
  205. data/rails_generators/templates/public/stylesheets/rules_engine.css +520 -0
  206. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/error-14.png +0 -0
  207. data/rails_generators/templates/public/{images/re_pipeline/__destroy-18.png → stylesheets/rules_engine/re_job/error-18.png} +0 -0
  208. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/error-25.png +0 -0
  209. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/error-48.png +0 -0
  210. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/info-14.png +0 -0
  211. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/info-18.png +0 -0
  212. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/info-25.png +0 -0
  213. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/info-48.png +0 -0
  214. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/list-14.png +0 -0
  215. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/list-18.png +0 -0
  216. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/list-25.png +0 -0
  217. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/list-48.png +0 -0
  218. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/loadingAnimation.gif +0 -0
  219. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-disabled-14.png +0 -0
  220. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-disabled-18.png +0 -0
  221. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-disabled-25.png +0 -0
  222. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-disabled-48.png +0 -0
  223. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-enabled-14.png +0 -0
  224. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-enabled-18.png +0 -0
  225. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-enabled-25.png +0 -0
  226. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/next-enabled-48.png +0 -0
  227. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-disabled-14.png +0 -0
  228. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-disabled-18.png +0 -0
  229. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-disabled-25.png +0 -0
  230. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-disabled-48.png +0 -0
  231. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-enabled-14.png +0 -0
  232. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-enabled-18.png +0 -0
  233. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-enabled-25.png +0 -0
  234. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/prev-enabled-48.png +0 -0
  235. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/success-14.png +0 -0
  236. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/success-18.png +0 -0
  237. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/success-25.png +0 -0
  238. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_job/success-48.png +0 -0
  239. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/activate-14.png +0 -0
  240. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/activate-18.png +0 -0
  241. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/activate-25.png +0 -0
  242. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/activate-48.png +0 -0
  243. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/alert-14.png +0 -0
  244. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/alert-18.png +0 -0
  245. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/alert-25.png +0 -0
  246. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/alert-48.png +0 -0
  247. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/change-14.png +0 -0
  248. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/change-18.png +0 -0
  249. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/change-25.png +0 -0
  250. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/change-48.png +0 -0
  251. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/changed-14.png +0 -0
  252. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/changed-18.png +0 -0
  253. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/changed-25.png +0 -0
  254. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/changed-48.png +0 -0
  255. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/current-14.png +0 -0
  256. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/current-18.png +0 -0
  257. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/current-25.png +0 -0
  258. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/current-48.png +0 -0
  259. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/deactivate-14.png +0 -0
  260. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/deactivate-18.png +0 -0
  261. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/deactivate-25.png +0 -0
  262. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/deactivate-48.png +0 -0
  263. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/destroy-14.png +0 -0
  264. data/rails_generators/templates/public/{images/re_rule → stylesheets/rules_engine/re_pipeline}/destroy-18.png +0 -0
  265. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/destroy-25.png +0 -0
  266. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/destroy-48.png +0 -0
  267. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/draft-14.png +0 -0
  268. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/draft-18.png +0 -0
  269. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/draft-25.png +0 -0
  270. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/draft-48.png +0 -0
  271. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/edit-14.png +0 -0
  272. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/edit-18.png +0 -0
  273. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/edit-25.png +0 -0
  274. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/edit-48.png +0 -0
  275. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-14.png +0 -0
  276. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-18.png +0 -0
  277. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-25.png +0 -0
  278. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-48.png +0 -0
  279. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-down.png +0 -0
  280. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/list-right.png +0 -0
  281. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/new-14.png +0 -0
  282. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/new-18.png +0 -0
  283. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/new-25.png +0 -0
  284. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/new-48.png +0 -0
  285. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/revert-14.png +0 -0
  286. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/revert-18.png +0 -0
  287. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/revert-25.png +0 -0
  288. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/revert-48.png +0 -0
  289. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/show-14.png +0 -0
  290. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/show-18.png +0 -0
  291. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/show-25.png +0 -0
  292. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/show-48.png +0 -0
  293. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/verify-14.png +0 -0
  294. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/verify-18.png +0 -0
  295. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/verify-25.png +0 -0
  296. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_pipeline/verify-48.png +0 -0
  297. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/destroy-14.png +0 -0
  298. data/rails_generators/templates/public/stylesheets/rules_engine/re_rule/destroy-18.png +0 -0
  299. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/destroy-25.png +0 -0
  300. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/destroy-48.png +0 -0
  301. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/edit-14.png +0 -0
  302. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/edit-18.png +0 -0
  303. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/edit-25.png +0 -0
  304. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/edit-48.png +0 -0
  305. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-14.png +0 -0
  306. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-18.png +0 -0
  307. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-25.png +0 -0
  308. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-48.png +0 -0
  309. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-off-14.png +0 -0
  310. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-off-18.png +0 -0
  311. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-off-25.png +0 -0
  312. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-down-off-48.png +0 -0
  313. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-14.png +0 -0
  314. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-18.png +0 -0
  315. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-25.png +0 -0
  316. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-48.png +0 -0
  317. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-off-14.png +0 -0
  318. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-off-18.png +0 -0
  319. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-off-25.png +0 -0
  320. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/move-up-off-48.png +0 -0
  321. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-change-14.png +0 -0
  322. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-change-18.png +0 -0
  323. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-change-25.png +0 -0
  324. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-change-48.png +0 -0
  325. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-show-14.png +0 -0
  326. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-show-18.png +0 -0
  327. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-show-25.png +0 -0
  328. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/next-show-48.png +0 -0
  329. data/rails_generators/templates/public/{images/re_rule/goto-pipeline-14.png → stylesheets/rules_engine/re_rule/start-pipeline-14.png} +0 -0
  330. data/rails_generators/templates/public/{images/re_rule/goto-pipeline-18.png → stylesheets/rules_engine/re_rule/start-pipeline-18.png} +0 -0
  331. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-failure-14.png +0 -0
  332. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-failure-18.png +0 -0
  333. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-failure-25.png +0 -0
  334. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-failure-48.png +0 -0
  335. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-success-14.png +0 -0
  336. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-success-18.png +0 -0
  337. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-success-25.png +0 -0
  338. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/stop-success-48.png +0 -0
  339. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/valid-14.png +0 -0
  340. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/valid-18.png +0 -0
  341. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/valid-25.png +0 -0
  342. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/valid-48.png +0 -0
  343. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/verify-14.png +0 -0
  344. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/verify-18.png +0 -0
  345. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/verify-25.png +0 -0
  346. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule/verify-48.png +0 -0
  347. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/add-14.png +0 -0
  348. data/rails_generators/templates/public/stylesheets/rules_engine/re_rule_class/add-18.png +0 -0
  349. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/add-25.png +0 -0
  350. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/add-48.png +0 -0
  351. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/help-14.png +0 -0
  352. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/help-18.png +0 -0
  353. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/help-25.png +0 -0
  354. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/help-48.png +0 -0
  355. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/list-down.png +0 -0
  356. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/list-right.png +0 -0
  357. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/new-14.png +0 -0
  358. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/new-18.png +0 -0
  359. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/new-25.png +0 -0
  360. data/rails_generators/templates/public/{images → stylesheets/rules_engine}/re_rule_class/new-48.png +0 -0
  361. data/rails_generators/templates/spec/controllers/re_jobs_controller_spec.rb +50 -0
  362. data/rails_generators/templates/spec/controllers/re_pipeline_jobs_controller_spec.rb +37 -0
  363. data/rails_generators/templates/spec/controllers/re_pipelines_controller_spec.rb +423 -83
  364. data/rails_generators/templates/spec/controllers/re_rules_controller_spec.rb +390 -0
  365. data/rails_generators/templates/spec/helpers/re_pipeline_helper_spec.rb +29 -0
  366. data/rails_generators/templates/spec/lib/rules/complex_rule_spec.rb +336 -0
  367. data/rails_generators/templates/spec/lib/rules/simple_rule_spec.rb +168 -0
  368. data/rails_generators/templates/spec/models/re_job_audit_spec.rb +1 -2
  369. data/rails_generators/templates/spec/models/re_job_spec.rb +157 -1
  370. data/rails_generators/templates/spec/models/re_pipeline_activated_observer_spec.rb +28 -0
  371. data/rails_generators/templates/spec/models/re_pipeline_activated_spec.rb +65 -0
  372. data/rails_generators/templates/spec/models/re_pipeline_base_spec.rb +37 -30
  373. data/rails_generators/templates/spec/models/re_pipeline_spec.rb +33 -1
  374. data/rails_generators/templates/spec/models/re_rule_expected_outcome_spec.rb +73 -0
  375. data/rails_generators/templates/spec/models/re_rule_spec.rb +266 -68
  376. data/rails_generators/templates/spec/support/rules_engine_macros.rb +23 -0
  377. data/spec/railsenv/app/controllers/application_controller.rb +10 -0
  378. data/spec/railsenv/app/rules/mock_rule.rb +11 -0
  379. data/spec/railsenv/config/boot.rb +110 -0
  380. data/spec/railsenv/config/database.yml +22 -0
  381. data/spec/railsenv/config/environment.rb +41 -0
  382. data/spec/railsenv/config/environments/development.rb +17 -0
  383. data/spec/railsenv/config/environments/production.rb +28 -0
  384. data/spec/railsenv/config/environments/test.rb +28 -0
  385. data/spec/railsenv/config/initializers/backtrace_silencers.rb +7 -0
  386. data/spec/railsenv/config/initializers/inflections.rb +10 -0
  387. data/spec/railsenv/config/initializers/mime_types.rb +5 -0
  388. data/spec/railsenv/config/initializers/new_rails_defaults.rb +19 -0
  389. data/spec/railsenv/config/initializers/session_store.rb +15 -0
  390. data/spec/railsenv/config/locales/en.yml +5 -0
  391. data/spec/railsenv/config/routes.rb +43 -0
  392. data/spec/railsenv/db/test.sqlite3 +1 -0
  393. data/spec/railsenv/log/debug.log +1 -0
  394. data/spec/railsenv/log/test.log +1 -0
  395. data/spec/rcov.opts +3 -0
  396. data/spec/rules_engine/cache_spec.rb +18 -0
  397. data/spec/rules_engine/discovery_spec.rb +32 -0
  398. data/spec/rules_engine/job_spec.rb +266 -0
  399. data/spec/rules_engine/rule_spec.rb +76 -0
  400. data/spec/rules_engine_view/alerts_spec.rb +142 -0
  401. data/spec/rules_engine_view/boxes_spec.rb +33 -0
  402. data/spec/rules_engine_view/buttons_spec.rb +123 -0
  403. data/spec/rules_engine_view/defer_spec.rb +50 -0
  404. data/spec/rules_engine_view/form_builder_fields_spec.rb +161 -0
  405. data/spec/rules_engine_view/form_builder_spec.rb +17 -0
  406. data/spec/rules_engine_view/form_fields_spec.rb +180 -0
  407. data/spec/rules_engine_view/form_styles_spec.rb +254 -0
  408. data/spec/rules_engine_view/model_loader_spec.rb +177 -0
  409. data/spec/rules_engine_view/navigate_spec.rb +55 -0
  410. data/spec/spec.opts +4 -1
  411. data/spec/spec_helper.rb +16 -4
  412. metadata +374 -213
  413. data/README.rdoc +0 -17
  414. data/lib/rules_engine/job_runner.rb +0 -115
  415. data/rails_generators/USAGE +0 -68
  416. data/rails_generators/blacklist_word.yml +0 -6
  417. data/rails_generators/blacklist_word_manifest.rb +0 -26
  418. data/rails_generators/generator.yml +0 -58
  419. data/rails_generators/generator_manifest.rb +0 -282
  420. data/rails_generators/simple.yml +0 -6
  421. data/rails_generators/simple_manifest.rb +0 -21
  422. data/rails_generators/template_manifest.rb +0 -13
  423. data/rails_generators/templates/app/models/re_rule_outcome.rb +0 -40
  424. data/rails_generators/templates/app/rules/blacklist_word.rb +0 -89
  425. data/rails_generators/templates/app/rules/simple.rb +0 -44
  426. data/rails_generators/templates/app/rules/template.rb +0 -51
  427. data/rails_generators/templates/app/views/layouts/_blockUI.html.erb +0 -3
  428. data/rails_generators/templates/app/views/re_jobs/_index.html.erb +0 -66
  429. data/rails_generators/templates/app/views/re_pipeline_jobs/_empty.html.erb +0 -11
  430. data/rails_generators/templates/app/views/re_pipeline_jobs/_index.html.erb +0 -41
  431. data/rails_generators/templates/app/views/re_pipelines/_show_actions.html.erb +0 -3
  432. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_edit.html.erb +0 -7
  433. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_help.html.erb +0 -2
  434. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_new.html.erb +0 -7
  435. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_pipeline.html.erb +0 -18
  436. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_script.html.erb +0 -26
  437. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_title.html.erb +0 -6
  438. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_word.html.erb +0 -12
  439. data/rails_generators/templates/app/views/re_rule_definitions/blacklist_word/_words.html.erb +0 -16
  440. data/rails_generators/templates/app/views/re_rule_definitions/simple/_edit.html.erb +0 -6
  441. data/rails_generators/templates/app/views/re_rule_definitions/simple/_help.html.erb +0 -2
  442. data/rails_generators/templates/app/views/re_rule_definitions/simple/_new.html.erb +0 -6
  443. data/rails_generators/templates/app/views/re_rule_definitions/template/_edit.html.erb +0 -6
  444. data/rails_generators/templates/app/views/re_rule_definitions/template/_help.html.erb +0 -2
  445. data/rails_generators/templates/app/views/re_rule_definitions/template/_new.html.erb +0 -6
  446. data/rails_generators/templates/lib/tasks/re_runner.rake +0 -12
  447. data/rails_generators/templates/public/images/re_job/goto-16.png +0 -0
  448. data/rails_generators/templates/public/images/re_pipeline/__destroy-14.png +0 -0
  449. data/rails_generators/templates/public/images/re_pipeline/__destroy-25.png +0 -0
  450. data/rails_generators/templates/public/images/re_pipeline/__destroy-48.png +0 -0
  451. data/rails_generators/templates/public/images/re_rule/__destroy-14.png +0 -0
  452. data/rails_generators/templates/public/images/re_rule/__destroy-18.png +0 -0
  453. data/rails_generators/templates/public/images/re_rule/__destroy-25.png +0 -0
  454. data/rails_generators/templates/public/images/re_rule/__destroy-48.png +0 -0
  455. data/rails_generators/templates/public/javascripts/re_jobs.js +0 -59
  456. data/rails_generators/templates/public/javascripts/re_pipeline.js +0 -54
  457. data/rails_generators/templates/public/javascripts/re_pipeline_jobs.js +0 -61
  458. data/rails_generators/templates/public/stylesheets/re_pipeline.css +0 -509
  459. data/rails_generators/templates/spec/models/re_rule_outcome_spec.rb +0 -97
  460. data/rails_generators/templates/spec/support/blueprint_re_pipelines.rb +0 -11
  461. data/spec/rules_engine_spec.rb +0 -7
@@ -1,25 +1,16 @@
1
- <div class="clear prepend-1 span-18">
2
- <h2 class="rule-class-new"> New : <%= @rule_class.options[:name] %></h2>
1
+ <div class="clear span-18">
2
+ <h2 class="re-rule-class-new"> New : <%= @re_rule.rule.options[:display_name] %></h2>
3
3
  <div class="clear top-10"></div>
4
4
 
5
- <% dougo_form_for(@re_rule, :url => re_pipeline_re_rules_path(@re_pipeline), :method => :post, :span => "3x13", :html => {:id => "rule_new_form"}) do |f| %>
6
- <%= hidden_field_tag('rule_class', @rule_class) %>
7
- <%= f.error_messages :message => "Unable To Create Rule : #{@rule_class.options[:name]}" %>
8
- <% unless @rule.errors.empty? %>
9
- <div id="errorExplanation" class="errorExplanation">
10
- <% @rule.errors.each do |error| %>
11
- <p><%= error %></p>
12
- <% end %>
13
- </div>
14
- <% end %>
15
-
16
- <% whitebox do %>
17
-
18
- <%= render(@rule_class.options[:new_template], :f => f) %>
5
+ <% re_form_for(@re_rule, :url => re_pipeline_re_rules_path(@re_pipeline), :method => :post, :span => "3x15", :html => {:id => "re_rule_new_form"}) do |f| %>
6
+ <%= hidden_field_tag('rule_class_name', @re_rule.rule_class_name) %>
7
+ <%= f.error_messages :message => "Unable To Create Rule : #{@re_rule.rule.options[:display_name]}" %>
8
+ <% re_whitebox do %>
9
+ <%= render(@re_rule.rule.options[:new_partial], :f => f) %>
19
10
 
20
11
  <div class="clear"></div>
21
- <%= button_submit_green('Create', :id => "rule_new_insert") %>
22
- <%= button_link_orange('Cancel', change_re_pipeline_path(@re_pipeline), :id => "rule_new_cancel") %>
12
+ <%= re_button_submit_green('Create', :id => "re_rule_new_insert") %>
13
+ <%= re_button_link_orange('Cancel', change_re_pipeline_path(@re_pipeline), :id => "re_rule_new_cancel") %>
23
14
  <% end %>
24
15
  <% end %>
25
16
  </div>
@@ -1,37 +1,37 @@
1
- <% re_rule_verify = re_rule.verify %>
1
+ <% re_rule_error = re_rule.rule_error %>
2
2
  <% local_first_rule = local_assigns[:first_rule] && first_rule %>
3
3
  <% local_last_rule = local_assigns[:last_rule] && last_rule %>
4
4
 
5
- <div class="span-15 last rule-change" id="change_rule_<%= re_rule.id %>">
6
- <div class="<%= re_rule_verify.blank? ? 'bluebox' : 'redbox' %> rule-status-<%= re_rule_verify.blank? ? 'valid' : 'verify' %>">
5
+ <div class="span-15 last re-rule-change" id="re_rule_change_<%= re_rule.id %>">
6
+ <div class="<%= re_rule_error.blank? ? 're-bluebox' : 're-redbox' %> re-rule-status-<%= re_rule_error.blank? ? 'valid' : 'verify' %>">
7
7
  <h3 class="float-left"><%= re_rule.title %></h3>
8
8
  <div class="float-right">
9
9
  <!-- NO ACTIONS ON THE RULE -->
10
10
  </div>
11
11
  <div class="clear"></div>
12
12
  </div>
13
- <div class="<%= re_rule_verify.blank? ? 'bluebox' : 'redbox' %> no-top">
14
- <div class="span-10">
13
+ <div class="<%= re_rule_error.blank? ? 're-bluebox' : 're-redbox' %> no-top">
14
+ <div class="span-9">
15
15
  <p class="top-5 left-10">
16
16
  <%= re_rule.summary %>
17
17
  </p>
18
18
  </div>
19
19
 
20
- <div class="prepend-10 top-10">
21
- <% if re_rule.re_rule_outcomes.empty? %>
22
- <div class="rule-continue">Continue</div>
20
+ <div class="prepend-9 top-10">
21
+ <% if re_rule.re_rule_expected_outcomes.empty? %>
22
+ <div class="re-rule-continue">Continue</div>
23
23
  <% end %>
24
- <% unless re_rule.re_rule_outcome_next.nil? %>
25
- <div class="rule-continue">Continue</div>
24
+ <% unless re_rule.re_rule_expected_outcome_next.nil? %>
25
+ <div class="re-rule-continue">Continue</div>
26
26
  <% end %>
27
- <% re_rule.re_rule_outcomes_start_pipeline.each do |re_rule_outcome| %>
28
- <div class="rule-goto-pipeline"><%= re_rule_outcome.pipeline_code %></div>
27
+ <% re_rule.re_rule_expected_outcomes_start_pipeline.each do |re_rule_expected_outcome| %>
28
+ <div class="re-rule-start-pipeline">Start : <%= re_rule_expected_outcome.pipeline_code %></div>
29
29
  <% end %>
30
- <% unless re_rule.re_rule_outcome_failure.nil? %>
31
- <div class="rule-stop-failure">Stop Failure</div>
30
+ <% unless re_rule.re_rule_expected_outcome_failure.nil? %>
31
+ <div class="re-rule-stop-failure">Stop Failure</div>
32
32
  <% end %>
33
- <% unless re_rule.re_rule_outcome_success.nil? %>
34
- <div class="rule-stop-success">Stop Success</div>
33
+ <% unless re_rule.re_rule_expected_outcome_success.nil? %>
34
+ <div class="re-rule-stop-success">Stop Success</div>
35
35
  <% end %>
36
36
  </div>
37
37
  <div class="clear"></div>
@@ -39,5 +39,5 @@
39
39
  </div>
40
40
 
41
41
  <% unless local_last_rule %>
42
- <div class="prepend-7 span-2"><div class="rule-next-change"></div></div>
42
+ <div class="prepend-7 span-2"><div class="re-rule-next-change"></div></div>
43
43
  <% end %>
@@ -1,13 +1,14 @@
1
- <%= javascript_alert_messages %>
1
+ $.re_unblock();
2
+ $.fancybox.close();
2
3
 
3
- self.parent.tb_remove();
4
+ <%= re_alert_js %>
4
5
 
5
- $('#change_pipeline').html('<%=escape_javascript(render('/re_pipelines/change'))%>');
6
- $('#change_pipeline_actions').html('<%=escape_javascript(render('/re_pipelines/change_actions'))%>');
6
+ $('#re_pipeline_change').html('<%=escape_javascript(render('/re_pipelines/change'))%>');
7
+ $('#re_pipeline_change_actions').html('<%=escape_javascript(render('/re_pipelines/change_actions'))%>');
7
8
 
8
- $('#change_rules').html('')
9
+ $('#re_rules_change').html('')
9
10
  <% @re_pipeline.re_rules.each do |re_rule | %>
10
- $('#change_rules').append('<%=escape_javascript(render('/re_rules/change', :re_rule => re_rule, :first_rule => re_rule == @re_pipeline.re_rules[0], :last_rule => re_rule == @re_pipeline.re_rules[-1]))%>');
11
+ $('#re_rules_change').append('<%=escape_javascript(render('/re_rules/change', :re_rule => re_rule, :first_rule => re_rule == @re_pipeline.re_rules[0], :last_rule => re_rule == @re_pipeline.re_rules[-1]))%>');
11
12
  <% end %>
12
13
 
13
14
  <%= render('/re_rules/empty', :re_pipeline => @re_pipeline) %>
@@ -1,9 +1,10 @@
1
- <% set_subnav @re_pipeline.title,
2
- link_to("All Pipelines", re_pipelines_path, :class => "pipeline-list"),
3
- link_to("Edit Pipeline", change_re_pipeline_path(@re_pipeline), :class => "pipeline-change") %>
1
+ <% set_re_breadcrumbs link_to("All Pipelines", re_pipelines_path, :class => "re-pipeline-list"),
2
+ link_to("View Pipelines", re_pipeline_path(@re_pipeline), :class => "re-pipeline-show"),
3
+ link_to("Edit Pipelines", change_re_pipeline_path(@re_pipeline), :class => "re-pipeline-change"),
4
+ '<span class="re-rule-edit">Edit Rule</span>' %>
4
5
 
5
- <div class="prepend-1 span-22 append-1">
6
- <div class="infobox">
6
+ <div class="prepend-1 span-20 append-1">
7
+ <div class="re-infobox">
7
8
  <%= render :partial => 'edit' %>
8
9
  <div class="clear"></div>
9
10
  </div>
@@ -1,5 +1,8 @@
1
- $('#tb_temp_container').html('<%=escape_javascript(render(:partial => 'edit'))%>');
1
+ $('#re_content').html('<%=escape_javascript(render(:partial => 'edit'))%>');
2
2
 
3
- $('#rule_edit_update').closest('div.form-button').dougo_form_button();
3
+ $('#re_rule_edit_update').closest('div.re-form-button').re_form_button();
4
4
 
5
- $("#rule_edit_form").submit(function() { return false; });
5
+ $("#re_rule_edit_form").submit(function() { return false; });
6
+
7
+ $.re_unblock();
8
+ $.fancybox({ href: '#re_content'});
@@ -1,9 +1,10 @@
1
- <% set_subnav "Rule Error",
2
- link_to("All Pipelines", re_pipelines_path, :class => "pipeline-list"),
3
- link_to("Edit Pipeline", change_re_pipeline_path(@re_pipeline), :class => "pipeline-change") %>
1
+ <% set_re_breadcrumbs link_to("All Pipelines", re_pipelines_path, :class => "re-pipeline-list"),
2
+ link_to("View Pipelines", re_pipeline_path(@re_pipeline), :class => "re-pipeline-show"),
3
+ link_to("Edit Pipelines", change_re_pipeline_path(@re_pipeline), :class => "re-pipeline-change"),
4
+ '<span class="re-rule-error">Rule Error</span>' %>
4
5
 
5
- <div class="prepend-1 span-22 append-1">
6
- <div class="infobox">
6
+ <div class="prepend-1 span-20 append-1">
7
+ <div class="re-infobox">
7
8
  <%= render :partial => 'error' %>
8
9
  <div class="clear"></div>
9
10
  </div>
@@ -1,3 +1,7 @@
1
- <%= javascript_alert_messages %>
1
+ <%= re_alert_js %>
2
+
3
+ $('#re_content').html('<%=escape_javascript(render(:partial => 'error'))%>');
4
+
5
+ $.re_unblock();
6
+ $.fancybox({ href: '#re_content'});
2
7
 
3
- $('#tb_temp_container').html('<%=escape_javascript(render(:partial => 'error'))%>');
@@ -1,9 +1,10 @@
1
- <% set_subnav "Help #{@rule_class.options[:name]}",
2
- link_to("All Pipelines", re_pipelines_path, :class => "pipeline-list"),
3
- link_to("Edit Pipeline", change_re_pipeline_path(@re_pipeline), :class => "pipeline-change") %>
1
+ <% set_re_breadcrumbs link_to("All Pipelines", re_pipelines_path, :class => "re-pipeline-list"),
2
+ link_to("View Pipelines", re_pipeline_path(@re_pipeline), :class => "re-pipeline-show"),
3
+ link_to("Edit Pipelines", change_re_pipeline_path(@re_pipeline), :class => "re-pipeline-change"),
4
+ '<span class="re-rule-help">Rule Help</span>' %>
4
5
 
5
- <div class="prepend-1 span-22 append-1">
6
- <div class="infobox">
6
+ <div class="prepend-1 span-20 append-1">
7
+ <div class="re-infobox">
7
8
  <%= render :partial => 'help' %>
8
9
  <div class="clear"></div>
9
10
  </div>
@@ -1,2 +1,4 @@
1
- $('#tb_temp_container').html('<%=escape_javascript(render(:partial => 'help'))%>');
1
+ $('#re_content').html('<%=escape_javascript(render(:partial => 'help'))%>');
2
2
 
3
+ $.re_unblock();
4
+ $.fancybox({ href: '#re_content'});
@@ -1,11 +1,15 @@
1
- <% set_subnav @re_pipeline.title,
2
- link_to("All Pipelines", re_pipelines_path, :class => "pipeline-list"),
3
- link_to("Edit Pipeline", change_re_pipeline_path(@re_pipeline), :class => "pipeline-change") %>
1
+ <% set_re_breadcrumbs link_to("All Pipelines", re_pipelines_path, :class => "re-pipeline-list"),
2
+ link_to("View Pipelines", re_pipeline_path(@re_pipeline), :class => "re-pipeline-show"),
3
+ link_to("Edit Pipelines", change_re_pipeline_path(@re_pipeline), :class => "re-pipeline-change"),
4
+ '<span class="re-rule-new">New Rule</span>' %>
4
5
 
5
- <div class="prepend-1 span-22 append-1">
6
- <div class="infobox">
7
- <%= render :partial => 'new' %>
8
- <div class="clear"></div>
9
- </div>
10
- </div>
11
- <div class="clear"></div>
6
+ <div class="prepend-1 span-20 append-1">
7
+ <div class="re-infobox">
8
+ <div class="prepend-1 span-18 append-1">
9
+ <%= render :partial => 'new' %>
10
+ <div class="clear"></div>
11
+ </div>
12
+ <div class="clear"></div>
13
+ </div>
14
+ <div class="clear"></div>
15
+ </div>
@@ -1,5 +1,9 @@
1
- $('#tb_temp_container').html('<%=escape_javascript(render(:partial => 'new'))%>');
1
+ $('#re_content').html('<%=escape_javascript(render(:partial => 'new'))%>');
2
2
 
3
- $('#rule_new_insert').closest('div.form-button').dougo_form_button();
3
+ $('#re_rule_new_insert').closest('div.re-form-button').re_form_button();
4
4
 
5
- $("#rule_new_form").submit(function() { return false; });
5
+ $("#re_rule_new_form").submit(function() { return false; });
6
+
7
+ $.re_unblock();
8
+ $.fancybox({ href: '#re_content'});
9
+ $.fancybox.resize();
@@ -1,20 +1,21 @@
1
- <%= javascript_alert_messages %>
1
+ $.fancybox.close();
2
+ $.re_unblock();
2
3
 
3
- self.parent.tb_remove();
4
+ <%= re_alert_js %>
4
5
 
5
- $('#change_pipeline').html('<%=escape_javascript(render('/re_pipelines/change'))%>');
6
- $('#change_pipeline_actions').html('<%=escape_javascript(render('/re_pipelines/change_actions'))%>');
6
+ $('#re_pipeline_change').html('<%=escape_javascript(render('/re_pipelines/change'))%>');
7
+ $('#re_pipeline_change_actions').html('<%=escape_javascript(render('/re_pipelines/change_actions'))%>');
7
8
 
8
9
  <%= render('/re_rules/empty', :re_pipeline => @re_pipeline) %>
9
10
 
10
- $('#change_rules').html('')
11
+ $('#re_rules_change').html('')
11
12
  <% @re_pipeline.re_rules.each do |re_rule | %>
12
- $('#change_rules').append('<%=escape_javascript(render('/re_rules/change', :re_rule => re_rule, :first_rule => re_rule == @re_pipeline.re_rules[0], :last_rule => re_rule == @re_pipeline.re_rules[-1]))%>');
13
+ $('#re_rules_change').append('<%=escape_javascript(render('/re_rules/change', :re_rule => re_rule, :first_rule => re_rule == @re_pipeline.re_rules[0], :last_rule => re_rule == @re_pipeline.re_rules[-1]))%>');
13
14
  <% end %>
14
15
 
15
- $('#change_rule_<%=@re_rule.id%>').attr('style', 'background-color: #fff6bf;');
16
- $('#change_rule_<%=@re_rule.id%>').fadeTo(750, 0.44, function() {
17
- $('#change_rule_<%=@re_rule.id%>').attr('style', '');
18
- $('#change_rule_<%=@re_rule.id%>').fadeTo(1000, 1.00, function() {
16
+ $('#re_rule_change_<%=@re_rule.id%> .re-bluebox:first').attr('style', 'background-color: #fff6bf;');
17
+ $('#re_rule_change_<%=@re_rule.id%> .re-bluebox:first').fadeTo(750, 0.85, function() {
18
+ $('#re_rule_change_<%=@re_rule.id%> .re-bluebox:first').attr('style', '');
19
+ $('#re_rule_change_<%=@re_rule.id%> .re-bluebox:first').fadeTo(1000, 1.00, function() {
19
20
  });
20
21
  });
@@ -21,20 +21,21 @@ class CreateRePipelines < ActiveRecord::Migration
21
21
 
22
22
  t.integer :position
23
23
 
24
- t.string :rule_class
24
+ t.string :rule_class_name
25
25
 
26
26
  t.string :title
27
27
  t.string :summary
28
- t.integer :data_version
29
- t.text :data
30
- t.string :error
28
+ t.text :data
31
29
 
32
30
  t.datetime :created_at
33
31
  t.datetime :updated_at
34
32
  end
35
33
 
34
+ add_index :re_rules, [:re_pipeline_id]
35
+ add_index :re_rules, [:re_pipeline_id, :position]
36
+
36
37
  #################################
37
- create_table :re_rule_outcomes do |t|
38
+ create_table :re_rule_expected_outcomes do |t|
38
39
  t.integer :re_rule_id
39
40
 
40
41
  t.integer :outcome
@@ -43,6 +44,7 @@ class CreateRePipelines < ActiveRecord::Migration
43
44
  t.datetime :created_at
44
45
  t.datetime :updated_at
45
46
  end
47
+ add_index :re_rule_expected_outcomes, [:re_rule_id]
46
48
 
47
49
  #################################
48
50
  create_table :re_jobs do |t|
@@ -57,17 +59,18 @@ class CreateRePipelines < ActiveRecord::Migration
57
59
 
58
60
  t.datetime :audit_date
59
61
  t.integer :audit_code
60
- t.boolean :audit_success
61
- t.text :audit_data
62
-
62
+ t.string :audit_message
63
63
  end
64
-
64
+
65
+ add_index :re_job_audits, [:re_job_id]
66
+ add_index :re_job_audits, [:re_pipeline_id]
67
+ add_index :re_job_audits, [:audit_date]
65
68
  end
66
69
 
67
70
  def self.down
68
71
  drop_table :re_job_audits
69
72
  drop_table :re_jobs
70
- drop_table :re_rule_outcomes
73
+ drop_table :re_rule_expected_outcomes
71
74
  drop_table :re_rules
72
75
  drop_table :re_pipelines
73
76
  end
@@ -0,0 +1,151 @@
1
+ ## Ruby and Rails Rules Engine Framework
2
+ # More detailed documentation at http://www.r3ef.com
3
+
4
+ ## Installation Guide
5
+ ######################################
6
+ # 1. Install the Gem
7
+ sudo gem install rules_engine
8
+ sudo gem install rspec cucumber
9
+
10
+ ######################################
11
+ # 2. Create the Rails App
12
+ rails MyCoolNewApp
13
+ cd MyCoolNewApp
14
+ rm ./public/index.html
15
+
16
+ ./script/generate rspec
17
+ ./script/generate cucumber --rspec
18
+
19
+ ./script/generate rules_engine
20
+
21
+ rake db:migrate
22
+
23
+ ######################################
24
+ # 3. Setup the Rails Environments
25
+ - ./config/environment.rb
26
+
27
+ Rails::Initializer.run do |config|
28
+ ...
29
+ config.gem 'rules_engine'
30
+ config.gem 'will_paginate'
31
+ config.gem 'acts_as_list'
32
+ ...
33
+ config.active_record.observers = :re_pipeline_activated_observer
34
+ ...
35
+ end
36
+
37
+ RulesEngine::Discovery.discover!
38
+
39
+ - ./config/environments/production.rb
40
+ - ./config/environments/development.rb
41
+
42
+ RulesEngine::Cache.cache_store = :mem_cache_store, "localhost:11210"
43
+ # RulesEngine::Cache.cache_store = :memory_store
44
+ # RulesEngine::Cache.cache_store = :file_store, "/path/to/cache/directory"
45
+ # RulesEngine::Cache.cache_store = :drb_store, "druby://localhost:9192"
46
+ # RulesEngine::Cache.cache_store = :mem_cache_store, "localhost"
47
+ # RulesEngine::Cache.cache_store = MyOwnStore.new("parameter")
48
+
49
+ - ./config/environments/test.rb
50
+ - ./config/environments/cucumber.rb
51
+
52
+ config.gem "rspec", :version => '>=1.3.0', :lib => false
53
+ config.gem "rspec-rails", :version => '>=1.3.2', :lib => false
54
+ config.gem "faker", :version => '>=0.3.1', :lib => false
55
+
56
+ config.gem "machinist", :version => '>=1.0.6', :lib => false
57
+ config.gem 'rcov', :version => '>=0.9.8', :lib => false
58
+ config.gem 'remarkable_rails', :version => '>=3.1.13', :lib => false
59
+
60
+ require 'machinist/active_record'
61
+ require 'sham'
62
+ require 'faker'
63
+ require 'remarkable_rails'
64
+
65
+ ######################################
66
+ # 4. Install the Required Gems
67
+
68
+ rake gems:install
69
+ rake gems:install RAILS_ENV=test
70
+
71
+ ######################################
72
+ # 5. Add the Routes
73
+ - ./config/routes.rb
74
+ ActionController::Routing::Routes.draw do |map|
75
+ ...
76
+ ### remove map.root if already defined
77
+ map.root :controller => 're_pipelines', :action => 'template'
78
+ ### map.preview '/preview', :controller => 're_pipelines', :action => 'template'
79
+ map.resources :re_pipelines,
80
+ :collection => {:lookup => :get,
81
+ :activate_all => :put},
82
+ :member => {:change => :get,
83
+ :activate => :put,
84
+ :deactivate => :put,
85
+ :revert => :put} do |re_pipeline|
86
+ re_pipeline.resources :re_rules,
87
+ :collection => {:help => :get, :error => :get},
88
+ :member => {:move_up => :put, :move_down => :put}
89
+ re_pipeline.resources :re_jobs, :controller => :re_pipeline_jobs, :only => [:index]
90
+ end
91
+
92
+ map.resources :re_jobs, :only => [:index, :show]
93
+ ...
94
+ end
95
+
96
+ ######################################
97
+ # 6. Define the Access Levels
98
+ - ./app/controllers/application_controller.rb
99
+ class ApplicationController < ActionController::Base
100
+
101
+ helper_method :rules_engine_reader?, :rules_engine_editor?
102
+
103
+ def rules_engine_reader?
104
+ # why cookies[:rules_engine_reader] ? It's a workaround for cucumber testing
105
+ return cookies[:rules_engine_reader].nil? ? true :
106
+ cookies[:rules_engine_reader].downcase == 'true'
107
+ end
108
+
109
+ def rules_engine_editor?
110
+ # why cookies[:rules_engine_editor] ? It's a workaround for cucumber testing
111
+ return cookies[:rules_engine_editor].nil? ? true :
112
+ cookies[:rules_engine_editor].downcase == 'true'
113
+ end
114
+
115
+ def rules_engine_reader_access_required
116
+ unless rules_engine_reader?
117
+ redirect_to(root_path)
118
+ flash[:success] = 'Rules Engine Access Denied.'
119
+ end
120
+ end
121
+
122
+ def rules_engine_editor_access_required
123
+ unless rules_engine_editor?
124
+ redirect_to(root_path)
125
+ flash[:success] = 'Rules Engine Editor Access Denied.'
126
+ end
127
+ end
128
+
129
+ ######################################
130
+ # 7. Create a Simple Rule
131
+ ./script/generate rules_engine simple my_simple_rule
132
+
133
+ ######################################
134
+ # 8. Create a more Complex Rule
135
+ ./script/generate rules_engine complex another_complex_rule
136
+
137
+ ######################################
138
+ # 9. Run the Tests
139
+ rake spec
140
+ rake spec:rcov
141
+ rake cucumber
142
+ open coverage/index.html
143
+
144
+ ######################################
145
+ # 10. Start the Server
146
+ ./script/server
147
+ open http://localhost:3000/re_pipelines
148
+
149
+ ######################################
150
+ # 11. Create Pipelines and Rules
151
+ Watch the demo at "TODO":http://www.r3ef.com/