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.
- 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
|