rules_engine_templates 0.0.6 → 0.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 (98) hide show
  1. data/README.textile +82 -0
  2. data/VERSION +1 -1
  3. data/generators/manifests/plan_start.rb +25 -0
  4. data/{rails_generators → generators}/manifests/plan_start.yml +0 -0
  5. data/{rails_generators → generators/manifests}/templates/app/controllers/rules/tweet_word_writer_controller.rb +0 -0
  6. data/{rails_generators → generators/manifests}/templates/app/rules/plan_start.rb +0 -0
  7. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_filter.rb +0 -0
  8. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_filter_rt.rb +0 -0
  9. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_reader.rb +0 -0
  10. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_filter.rb +0 -0
  11. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_splitter.rb +0 -0
  12. data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_writer.rb +0 -0
  13. data/{rails_generators → generators/manifests}/templates/app/rules/workflow_start.rb +0 -0
  14. data/{rails_generators → generators/manifests}/templates/app/rules/workflow_stop.rb +0 -0
  15. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_edit.html.erb +0 -0
  16. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_form.html.erb +1 -1
  17. data/generators/manifests/templates/app/views/re_rules/plan_start/_help.html.erb +1 -0
  18. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_new.html.erb +0 -0
  19. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_edit.html.erb +0 -0
  20. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_form.html.erb +4 -4
  21. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_form_word.html.erb +0 -0
  22. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_help.html.erb +0 -0
  23. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_new.html.erb +0 -0
  24. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_edit.html.erb +0 -0
  25. data/{rails_generators/templates/app/views/re_rules/tweet_word_writer → generators/manifests/templates/app/views/re_rules/tweet_filter_rt}/_form.html.erb +2 -2
  26. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_help.html.erb +0 -0
  27. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_new.html.erb +0 -0
  28. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_edit.html.erb +0 -0
  29. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_form.html.erb +1 -1
  30. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_help.html.erb +0 -0
  31. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_new.html.erb +0 -0
  32. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_edit.html.erb +0 -0
  33. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_form.html.erb +4 -4
  34. data/generators/manifests/templates/app/views/re_rules/tweet_word_filter/_form_word.html.erb +13 -0
  35. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_help.html.erb +0 -0
  36. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_new.html.erb +0 -0
  37. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_edit.html.erb +0 -0
  38. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_form.html.erb +1 -1
  39. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_help.html.erb +0 -0
  40. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_new.html.erb +0 -0
  41. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_edit.html.erb +0 -0
  42. data/{rails_generators/templates/app/views/re_rules/tweet_filter_rt → generators/manifests/templates/app/views/re_rules/tweet_word_writer}/_form.html.erb +2 -2
  43. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_help.html.erb +0 -0
  44. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_new.html.erb +0 -0
  45. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/index.html.erb +0 -0
  46. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_edit.html.erb +0 -0
  47. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_form.html.erb +1 -1
  48. data/generators/manifests/templates/app/views/re_rules/workflow_start/_help.html.erb +1 -0
  49. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_new.html.erb +0 -0
  50. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_edit.html.erb +0 -0
  51. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_form.html.erb +1 -1
  52. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_help.html.erb +0 -0
  53. data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_new.html.erb +0 -0
  54. data/{rails_generators → generators/manifests}/templates/db/migrate/20100725233933_create_re_tweet_reader_data.rb +0 -0
  55. data/{rails_generators → generators/manifests}/templates/db/migrate/20100727235508_create_tweet_word_writer.rb +0 -0
  56. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/plan_start_spec.rb +15 -13
  57. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_filter_rt_spec.rb +13 -11
  58. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_filter_spec.rb +36 -16
  59. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_reader_spec.rb +17 -15
  60. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_filter_spec.rb +35 -17
  61. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_splitter_spec.rb +13 -11
  62. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_writer_spec.rb +13 -11
  63. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/workflow_start_spec.rb +17 -15
  64. data/{rails_generators → generators/manifests}/templates/spec/lib/rules/workflow_stop_spec.rb +13 -11
  65. data/generators/manifests/tweet_filter.rb +26 -0
  66. data/{rails_generators → generators}/manifests/tweet_filter.yml +0 -0
  67. data/generators/manifests/tweet_filter_rt.rb +25 -0
  68. data/{rails_generators → generators}/manifests/tweet_filter_rt.yml +0 -0
  69. data/generators/manifests/tweet_reader.rb +27 -0
  70. data/{rails_generators → generators}/manifests/tweet_reader.yml +0 -0
  71. data/generators/manifests/tweet_word_filter.rb +26 -0
  72. data/{rails_generators → generators}/manifests/tweet_word_filter.yml +1 -0
  73. data/generators/manifests/tweet_word_splitter.rb +25 -0
  74. data/{rails_generators → generators}/manifests/tweet_word_splitter.yml +0 -0
  75. data/generators/manifests/tweet_word_writer.rb +39 -0
  76. data/{rails_generators → generators}/manifests/tweet_word_writer.yml +0 -0
  77. data/generators/manifests/workflow_start.rb +25 -0
  78. data/{rails_generators → generators}/manifests/workflow_start.yml +0 -0
  79. data/generators/manifests/workflow_stop.rb +26 -0
  80. data/{rails_generators → generators}/manifests/workflow_stop.yml +0 -0
  81. data/generators/rule_generator.rb +59 -0
  82. data/init.rb +1 -0
  83. data/lib/rules_engine_templates.rb +3 -0
  84. data/lib/rules_engine_templates/engine.rb +10 -0
  85. metadata +155 -92
  86. data/README.rdoc +0 -17
  87. data/rails_generators/manifests/plan_start.rb +0 -29
  88. data/rails_generators/manifests/tweet_filter.rb +0 -30
  89. data/rails_generators/manifests/tweet_filter_rt.rb +0 -29
  90. data/rails_generators/manifests/tweet_reader.rb +0 -31
  91. data/rails_generators/manifests/tweet_word_filter.rb +0 -29
  92. data/rails_generators/manifests/tweet_word_splitter.rb +0 -29
  93. data/rails_generators/manifests/tweet_word_writer.rb +0 -43
  94. data/rails_generators/manifests/workflow_start.rb +0 -29
  95. data/rails_generators/manifests/workflow_stop.rb +0 -30
  96. data/rails_generators/rules_engine_templates_generator.rb +0 -43
  97. data/rails_generators/templates/app/views/re_rules/plan_start/_help.html.erb +0 -1
  98. data/rails_generators/templates/app/views/re_rules/workflow_start/_help.html.erb +0 -1
@@ -0,0 +1,82 @@
1
+ h1. Ruby and Rails Rules Engine Framework
2
+
3
+ h4. More detailed documentation at "www.r3ef.com":http://www.r3ef.com
4
+
5
+ h2. Templates
6
+
7
+ h3. Plan Start
8
+
9
+ Run a new plan and pass on the current data
10
+
11
+ <pre>
12
+ script/rails generate rules_engine_templates:rule plan_start [rule name]
13
+ </pre>
14
+
15
+ h3. Workflow Start
16
+
17
+ Start a workflow
18
+
19
+ <pre>
20
+ script/rails generate rules_engine_templates:rule workflow_start [rule name]
21
+ </pre>
22
+
23
+ h3. Workflow Stop
24
+
25
+ Stop the workflow and plan
26
+
27
+ <pre>
28
+ script/rails generate rules_engine_templates:rule workflow_stop [rule name]
29
+ </pre>
30
+
31
+
32
+ h3. Twitter Reader
33
+
34
+ Search twitter for responses
35
+
36
+ <pre>
37
+ script/rails generate rules_engine_templates:rule tweet_reader [rule name]
38
+ rake db:migrate
39
+ </pre>
40
+
41
+ h3. Twitter Filter
42
+
43
+ Filter twitter messages
44
+
45
+ <pre>
46
+ script/rails generate rules_engine_templates:rule tweet_filter [rule name]
47
+ </pre>
48
+
49
+ h3. Twitter Filter Retweets
50
+
51
+ Filter twitter retweets
52
+
53
+ <pre>
54
+ script/rails generate rules_engine_templates:rule tweet_filter_rt [rule name]
55
+ </pre>
56
+
57
+ h3. Twitter Word Splitter
58
+
59
+ Split the twitter message into individual words for processing
60
+
61
+ <pre>
62
+ script/rails generate rules_engine_templates:rule tweet_word_splitter [rule name]
63
+ </pre>
64
+
65
+ h3. Twitter Word Filter
66
+
67
+ Filter out twitter messages with matching words
68
+
69
+ <pre>
70
+ script/rails generate rules_engine_templates:rule tweet_word_filter [rule name]
71
+ </pre>
72
+
73
+
74
+ h3. Twitter Word Writer
75
+
76
+ Write the words to the database for processing
77
+
78
+ <pre>
79
+ script/rails generate rules_engine_templates:rule tweet_word_writer [rule name]
80
+ rake db:migrate
81
+ </pre>
82
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.3.0
@@ -0,0 +1,25 @@
1
+ class PlanStartManifest
2
+ def self.populate_record(m, rule_name)
3
+
4
+ %W(
5
+ app/rules
6
+ app/views/re_rules/#{rule_name}
7
+ spec/lib/rules
8
+ ).each do |dirname|
9
+ m.empty_directory dirname
10
+ end
11
+
12
+ %W(
13
+ ).each do |filename|
14
+ m.copy_file filename, filename
15
+ end
16
+
17
+ m.template "app/rules/plan_start.rb", "app/rules/#{rule_name}.rb"
18
+ m.template "app/views/re_rules/plan_start/_edit.html.erb", "app/views/re_rules/#{rule_name}/_edit.html.erb"
19
+ m.template "app/views/re_rules/plan_start/_form.html.erb", "app/views/re_rules/#{rule_name}/_form.html.erb"
20
+ m.template "app/views/re_rules/plan_start/_help.html.erb", "app/views/re_rules/#{rule_name}/_help.html.erb"
21
+ m.template "app/views/re_rules/plan_start/_new.html.erb", "app/views/re_rules/#{rule_name}/_new.html.erb"
22
+ m.template "spec/lib/rules/plan_start_spec.rb", "spec/lib/rules/#{rule_name}_spec.rb"
23
+
24
+ end
25
+ end
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
 
3
3
  $(document).ready(function() {
4
4
  $('#<%=rule_name%>_title').focus();
@@ -0,0 +1 @@
1
+ <p>Run a new plan and pass on the current data</p>
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
  var new_<%=rule_name%> = '<%%=escape_javascript(render("/re_rules/<%=rule_name%>/form_word"))%>'
3
3
 
4
4
  $(document).ready(function() {
@@ -18,13 +18,13 @@
18
18
 
19
19
  <%% position = 0 %>
20
20
  <%% (@re_rule.rule.match_words || []).each do | word | %>
21
- <%% f.fields_for :rule_data, {:first => false} do |frd| %>
21
+ <%%= f.fields_for :rule_data, {:first => false} do |frd| %>
22
22
  <%%= render '/re_rules/<%=rule_name%>/form_word', :f => frd, :position => position, :word => word %>
23
23
  <%% position += 1 %>
24
24
  <%% end %>
25
25
  <%% end %>
26
26
  <%% if position == 0 %>
27
- <%% f.fields_for :rule_data, {:first => false} do |frd| %>
27
+ <%%= f.fields_for :rule_data, {:first => false} do |frd| %>
28
28
  <%%= render '/re_rules/<%=rule_name%>/form_word', :f => frd, :position => position %>
29
29
  <%% end %>
30
30
  <%% end %>
@@ -40,5 +40,5 @@ q<%%= re_select "Match Type", '<%=rule_name%>_match_type',
40
40
  ["Begins With", RulesEngine::Rule::<%=rule_class%>::TWEET_MATCH_BEGIN_WITH],
41
41
  ["End With", RulesEngine::Rule::<%=rule_class%>::TWEET_MATCH_END_WITH]
42
42
  ],
43
- params['<%=rule_name%>_match_type'].to_i || @re_rule.rule.match_type),
43
+ params['<%=rule_name%>_match_type'] || @re_rule.rule.match_type),
44
44
  :required => true %>
@@ -1,5 +1,4 @@
1
- <%% javascript_tag do %>
2
-
1
+ <%%= javascript_tag do %>
3
2
  $(document).ready(function() {
4
3
  $('#<%=rule_name%>_title').focus();
5
4
  });
@@ -14,3 +13,4 @@
14
13
  :required => true,
15
14
  :error => @re_rule.rule.errors[:<%=rule_name%>_title],
16
15
  :span => '4x13' %>
16
+
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
 
3
3
  $(document).ready(function() {
4
4
  $('#<%=rule_name%>_title').focus();
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
  var new_<%=rule_name%> = '<%%=escape_javascript(render("/re_rules/<%=rule_name%>/form_word"))%>'
3
3
 
4
4
  $(document).ready(function() {
@@ -18,13 +18,13 @@
18
18
 
19
19
  <%% position = 0 %>
20
20
  <%% (@re_rule.rule.match_words || []).each do | word | %>
21
- <%% f.fields_for :rule_data, {:first => false} do |frd| %>
21
+ <%%= f.fields_for :rule_data, {:first => false} do |frd| %>
22
22
  <%%= render '/re_rules/<%=rule_name%>/form_word', :f => frd, :position => position, :word => word %>
23
23
  <%% position += 1 %>
24
24
  <%% end %>
25
25
  <%% end %>
26
26
  <%% if position == 0 %>
27
- <%% f.fields_for :rule_data, {:first => false} do |frd| %>
27
+ <%%= f.fields_for :rule_data, {:first => false} do |frd| %>
28
28
  <%%= render '/re_rules/<%=rule_name%>/form_word', :f => frd, :position => position %>
29
29
  <%% end %>
30
30
  <%% end %>
@@ -41,5 +41,5 @@
41
41
  ["Begins With", RulesEngine::Rule::<%=rule_class%>::WORD_MATCH_BEGIN_WITH],
42
42
  ["End With", RulesEngine::Rule::<%=rule_class%>::WORD_MATCH_END_WITH]
43
43
  ],
44
- params['<%=rule_name%>_match_type'].to_i || @re_rule.rule.match_type),
44
+ params['<%=rule_name%>_match_type'] || @re_rule.rule.match_type),
45
45
  :required => true %>
@@ -0,0 +1,13 @@
1
+ <%% id = local_assigns[:position] ? position : 'NEW_RECORD' %>
2
+
3
+ <div id="<%=rule_name%>_<%%=id%>">
4
+ <%%= re_text_field "Words to filter", "<%=rule_name%>_match_words[#{id}][word]",
5
+ local_assigns[:word] ? word : '',
6
+ :size => 25,
7
+ :required => id == 0,
8
+ :span => '4x13',
9
+ :error => id == 0 ? @re_rule.rule.errors[:<%=rule_name%>_match_words] : nil,
10
+ :hint => re_remove_link("Remove", "<%=rule_name%>[#{id}]", id) %>
11
+
12
+ <%%= re_remove_field("<%=rule_name%>[#{id}]", id) %>
13
+ </div>
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
 
3
3
  $(document).ready(function() {
4
4
  $('#<%=rule_name%>_title').focus();
@@ -1,4 +1,5 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
+
2
3
  $(document).ready(function() {
3
4
  $('#<%=rule_name%>_title').focus();
4
5
  });
@@ -13,4 +14,3 @@
13
14
  :required => true,
14
15
  :error => @re_rule.rule.errors[:<%=rule_name%>_title],
15
16
  :span => '4x13' %>
16
-
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
 
3
3
  $(document).ready(function() {
4
4
  $('#<%=rule_name%>_title').focus();
@@ -1,4 +1,4 @@
1
- <%% javascript_tag do %>
1
+ <%%= javascript_tag do %>
2
2
 
3
3
  $(document).ready(function() {
4
4
  $('#<%=rule_name%>_title').focus();
@@ -191,8 +191,10 @@ describe RulesEngine::Rule::<%=rule_class%> do
191
191
  end
192
192
 
193
193
 
194
- describe ReWorkflowRulesController, :type => :controller do
195
- integrate_views
194
+ describe ReWorkflowRulesController do
195
+ include RSpec::Rails::ControllerExampleGroup
196
+
197
+ render_views
196
198
 
197
199
  describe "RulesEngine::Rule::<%=rule_class%>" do
198
200
  before(:each) do
@@ -203,38 +205,38 @@ describe ReWorkflowRulesController, :type => :controller do
203
205
  controller.stub!(:rules_engine_reader_access_required).and_return(true)
204
206
  controller.stub!(:rules_engine_editor_access_required).and_return(true)
205
207
 
206
- @re_workflow = ReWorkflow.make
208
+ @re_workflow = ReWorkflow.create!(:code => "valid code", :title => 'Valid title', :description => 'Test Workflow')
207
209
  ReWorkflow.stub!(:find).and_return(@re_workflow)
208
210
  end
209
211
 
210
212
  describe "help" do
211
213
  it "should assign the tweet reader_rule class" do
212
- get :help, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
214
+ get :help, :re_workflow_id => @re_workflow.id, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
213
215
  assigns[:rule_class].should == RulesEngine::Rule::<%=rule_class%>
214
216
  end
215
217
  end
216
218
 
217
219
  describe "new" do
218
220
  it "show the new form class" do
219
- get :new, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
220
- response.should have_tag("form#re_rule_new_form") do
221
- with_tag("input#<%=rule_name%>_title")
222
- with_tag("input#<%=rule_name%>_plan_code")
221
+ get :new, :re_workflow_id => @re_workflow.id, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
222
+ response.should have_selector("form#re_rule_new_form") do |form|
223
+ form.should have_selector("input#<%=rule_name%>_title")
224
+ form.should have_selector("input#<%=rule_name%>_plan_code")
223
225
  end
224
226
  end
225
227
  end
226
228
 
227
229
  describe "edit" do
228
230
  it "show the edit form" do
229
- re_rule = ReRule.make(:re_workflow_id => @re_workflow.id,
231
+ re_rule = ReRule.create!(:re_workflow_id => @re_workflow.id,
230
232
  :rule_class_name => "RulesEngine::Rule::<%=rule_class%>",
231
233
  :data => valid_<%=rule_name%>_rule_data)
232
234
  ReRule.stub!(:find).and_return(re_rule)
233
235
 
234
- get :edit, :re_workflow_id => @re_workflow.id, :re_rule_id => 1001, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
235
- response.should have_tag("form#re_rule_edit_form") do
236
- with_tag("input#<%=rule_name%>_title", :value => 'Rule Title')
237
- with_tag("input#<%=rule_name%>_plan_code", :value => 'Other Plan')
236
+ get :edit, :re_workflow_id => @re_workflow.id, :id => 1001, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
237
+ response.should have_selector("form#re_rule_edit_form") do |form|
238
+ form.should have_selector("input#<%=rule_name%>_title", :value => 'Rule Title')
239
+ form.should have_selector("input#<%=rule_name%>_plan_code", :value => 'Other Plan')
238
240
  end
239
241
  end
240
242
  end
@@ -162,8 +162,10 @@ describe RulesEngine::Rule::<%=rule_class%> do
162
162
  end
163
163
  end
164
164
 
165
- describe ReWorkflowRulesController, :type => :controller do
166
- integrate_views
165
+ describe ReWorkflowRulesController do
166
+ include RSpec::Rails::ControllerExampleGroup
167
+
168
+ render_views
167
169
 
168
170
  describe "RulesEngine::Rule::<%=rule_class%>" do
169
171
 
@@ -175,36 +177,36 @@ describe ReWorkflowRulesController, :type => :controller do
175
177
  controller.stub!(:rules_engine_reader_access_required).and_return(true)
176
178
  controller.stub!(:rules_engine_editor_access_required).and_return(true)
177
179
 
178
- @re_workflow = ReWorkflow.make
180
+ @re_workflow = ReWorkflow.create!(:code => "valid code", :title => 'Valid title', :description => 'Test Workflow')
179
181
  ReWorkflow.stub!(:find).and_return(@re_workflow)
180
182
  end
181
183
 
182
184
  describe "help" do
183
185
  it "should assign the <%=rule_name%> rule class" do
184
- get :help, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
186
+ get :help, :re_workflow_id => @re_workflow.id, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
185
187
  assigns[:rule_class].should == RulesEngine::Rule::<%=rule_class%>
186
188
  end
187
189
  end
188
190
 
189
191
  describe "new" do
190
192
  it "show the new form" do
191
- get :new, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
192
- response.should have_tag("form#re_rule_new_form") do
193
- with_tag("input#<%=rule_name%>_title")
193
+ get :new, :re_workflow_id => @re_workflow.id, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
194
+ response.should have_selector("form#re_rule_new_form") do |form|
195
+ form.should have_selector("input#<%=rule_name%>_title")
194
196
  end
195
197
  end
196
198
  end
197
199
 
198
200
  describe "edit" do
199
201
  it "show the edit form" do
200
- re_rule = ReRule.make(:re_workflow_id => @re_workflow.id,
202
+ re_rule = ReRule.create!(:re_workflow_id => @re_workflow.id,
201
203
  :rule_class_name => "RulesEngine::Rule::<%=rule_class%>",
202
204
  :data => valid_<%=rule_name%>_rule_data)
203
205
  ReRule.stub!(:find).and_return(re_rule)
204
206
 
205
- get :edit, :re_workflow_id => @re_workflow.id, :re_rule_id => 1001, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
206
- response.should have_tag("form#re_rule_edit_form") do
207
- with_tag("input#<%=rule_name%>_title", :value => 'Rule Title')
207
+ get :edit, :re_workflow_id => @re_workflow.id, :id => 1001, :rule_class_name => "RulesEngine::Rule::<%=rule_class%>"
208
+ response.should have_selector("form#re_rule_edit_form") do |form|
209
+ form.should have_selector("input#<%=rule_name%>_title", :value => 'Rule Title')
208
210
  end
209
211
  end
210
212
  end