rules_engine_templates 0.0.6 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +82 -0
- data/VERSION +1 -1
- data/generators/manifests/plan_start.rb +25 -0
- data/{rails_generators → generators}/manifests/plan_start.yml +0 -0
- data/{rails_generators → generators/manifests}/templates/app/controllers/rules/tweet_word_writer_controller.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/plan_start.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_filter.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_filter_rt.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_reader.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_filter.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_splitter.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/tweet_word_writer.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/workflow_start.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/rules/workflow_stop.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_form.html.erb +1 -1
- data/generators/manifests/templates/app/views/re_rules/plan_start/_help.html.erb +1 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_form.html.erb +4 -4
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_form_word.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_edit.html.erb +0 -0
- 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
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_filter_rt/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_form.html.erb +1 -1
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_reader/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_form.html.erb +4 -4
- data/generators/manifests/templates/app/views/re_rules/tweet_word_filter/_form_word.html.erb +13 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_filter/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_form.html.erb +1 -1
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_splitter/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_edit.html.erb +0 -0
- 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
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/tweet_word_writer/index.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_form.html.erb +1 -1
- data/generators/manifests/templates/app/views/re_rules/workflow_start/_help.html.erb +1 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_start/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_edit.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_form.html.erb +1 -1
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_help.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/app/views/re_rules/workflow_stop/_new.html.erb +0 -0
- data/{rails_generators → generators/manifests}/templates/db/migrate/20100725233933_create_re_tweet_reader_data.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/db/migrate/20100727235508_create_tweet_word_writer.rb +0 -0
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/plan_start_spec.rb +15 -13
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_filter_rt_spec.rb +13 -11
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_filter_spec.rb +36 -16
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_reader_spec.rb +17 -15
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_filter_spec.rb +35 -17
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_splitter_spec.rb +13 -11
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_word_writer_spec.rb +13 -11
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/workflow_start_spec.rb +17 -15
- data/{rails_generators → generators/manifests}/templates/spec/lib/rules/workflow_stop_spec.rb +13 -11
- data/generators/manifests/tweet_filter.rb +26 -0
- data/{rails_generators → generators}/manifests/tweet_filter.yml +0 -0
- data/generators/manifests/tweet_filter_rt.rb +25 -0
- data/{rails_generators → generators}/manifests/tweet_filter_rt.yml +0 -0
- data/generators/manifests/tweet_reader.rb +27 -0
- data/{rails_generators → generators}/manifests/tweet_reader.yml +0 -0
- data/generators/manifests/tweet_word_filter.rb +26 -0
- data/{rails_generators → generators}/manifests/tweet_word_filter.yml +1 -0
- data/generators/manifests/tweet_word_splitter.rb +25 -0
- data/{rails_generators → generators}/manifests/tweet_word_splitter.yml +0 -0
- data/generators/manifests/tweet_word_writer.rb +39 -0
- data/{rails_generators → generators}/manifests/tweet_word_writer.yml +0 -0
- data/generators/manifests/workflow_start.rb +25 -0
- data/{rails_generators → generators}/manifests/workflow_start.yml +0 -0
- data/generators/manifests/workflow_stop.rb +26 -0
- data/{rails_generators → generators}/manifests/workflow_stop.yml +0 -0
- data/generators/rule_generator.rb +59 -0
- data/init.rb +1 -0
- data/lib/rules_engine_templates.rb +3 -0
- data/lib/rules_engine_templates/engine.rb +10 -0
- metadata +155 -92
- data/README.rdoc +0 -17
- data/rails_generators/manifests/plan_start.rb +0 -29
- data/rails_generators/manifests/tweet_filter.rb +0 -30
- data/rails_generators/manifests/tweet_filter_rt.rb +0 -29
- data/rails_generators/manifests/tweet_reader.rb +0 -31
- data/rails_generators/manifests/tweet_word_filter.rb +0 -29
- data/rails_generators/manifests/tweet_word_splitter.rb +0 -29
- data/rails_generators/manifests/tweet_word_writer.rb +0 -43
- data/rails_generators/manifests/workflow_start.rb +0 -29
- data/rails_generators/manifests/workflow_stop.rb +0 -30
- data/rails_generators/rules_engine_templates_generator.rb +0 -43
- data/rails_generators/templates/app/views/re_rules/plan_start/_help.html.erb +0 -1
- data/rails_generators/templates/app/views/re_rules/workflow_start/_help.html.erb +0 -1
data/README.textile
ADDED
@@ -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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<p>Run a new plan and pass on the current data</p>
|
data/{rails_generators → generators/manifests}/templates/app/views/re_rules/plan_start/_new.html.erb
RENAMED
File without changes
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
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
|
-
|
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
|
-
|
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']
|
43
|
+
params['<%=rule_name%>_match_type'] || @re_rule.rule.match_type),
|
44
44
|
:required => true %>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
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
|
-
|
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
|
-
|
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']
|
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>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<p>Start a workflow</p>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -191,8 +191,10 @@ describe RulesEngine::Rule::<%=rule_class%> do
|
|
191
191
|
end
|
192
192
|
|
193
193
|
|
194
|
-
describe ReWorkflowRulesController
|
195
|
-
|
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.
|
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
|
221
|
-
|
222
|
-
|
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.
|
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, :
|
235
|
-
response.should
|
236
|
-
|
237
|
-
|
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
|
data/{rails_generators → generators/manifests}/templates/spec/lib/rules/tweet_filter_rt_spec.rb
RENAMED
@@ -162,8 +162,10 @@ describe RulesEngine::Rule::<%=rule_class%> do
|
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
165
|
-
describe ReWorkflowRulesController
|
166
|
-
|
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.
|
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
|
193
|
-
|
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.
|
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, :
|
206
|
-
response.should
|
207
|
-
|
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
|