rules_engine 0.0.6 → 0.0.7
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/VERSION +1 -1
- data/lib/rules_engine/job.rb +5 -1
- data/rails_generators/manifests/rules_engine.rb +1 -1
- data/rails_generators/manifests/rules_engine.yml +1 -1
- data/rails_generators/templates/app/controllers/re_pipelines_controller.rb +7 -3
- data/rails_generators/templates/app/models/re_job.rb +7 -1
- data/rails_generators/templates/app/models/re_pipeline_activated.rb +6 -6
- data/rails_generators/templates/app/models/re_pipeline_base.rb +1 -6
- data/rails_generators/templates/app/models/re_rule.rb +6 -6
- data/rails_generators/templates/app/views/re_jobs/_index_small.html.erb +1 -2
- data/rails_generators/templates/app/views/re_pipeline_rules/_index.html.erb +1 -2
- data/rails_generators/templates/app/views/re_pipeline_rules/_show.html.erb +1 -0
- data/rails_generators/templates/app/views/re_pipelines/_change_actions.html.erb +2 -2
- data/rails_generators/templates/lib/tasks/rules_engine.rake +16 -0
- data/rails_generators/templates/spec/controllers/re_pipelines_controller_spec.rb +35 -17
- data/rails_generators/templates/spec/models/re_pipeline_base_spec.rb +17 -17
- data/rails_generators/templates/spec/models/re_rule_spec.rb +6 -13
- metadata +5 -5
- data/rails_generators/templates/lib/tasks/re_execute.rake +0 -19
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
data/lib/rules_engine/job.rb
CHANGED
@@ -37,7 +37,11 @@ module RulesEngine
|
|
37
37
|
|
38
38
|
activated_pipeline = RePipelineActivated.find_by_code(pipeline_code)
|
39
39
|
unless activated_pipeline
|
40
|
-
|
40
|
+
if RePipeline.find_by_code(pipeline_code)
|
41
|
+
audit("Pipleine : #{pipeline_code} not activated", ReJobAudit::AUDIT_FAILURE)
|
42
|
+
else
|
43
|
+
audit("Pipleine : #{pipeline_code} not found", ReJobAudit::AUDIT_FAILURE)
|
44
|
+
end
|
41
45
|
error = done = true
|
42
46
|
next
|
43
47
|
end
|
@@ -122,7 +122,7 @@ class RulesEngineManifest
|
|
122
122
|
features/step_definitions/common/re_view_steps.rb
|
123
123
|
features/support/blueprint_re_pipelines.rb
|
124
124
|
features/support/rules_engine.rb
|
125
|
-
lib/tasks/
|
125
|
+
lib/tasks/rules_engine.rake
|
126
126
|
public/javascripts/jquery-1.4.2.min.js
|
127
127
|
public/javascripts/jquery.autocomplete.pack.js
|
128
128
|
public/javascripts/jquery.blockUI.js
|
@@ -89,7 +89,7 @@ class RePipelinesController < ApplicationController
|
|
89
89
|
klass = RePipeline
|
90
90
|
@re_pipelines = klass.find(:all)
|
91
91
|
|
92
|
-
if @re_pipelines.any? { | re_pipeline|
|
92
|
+
if @re_pipelines.any? { | re_pipeline| re_pipeline.pipeline_error }
|
93
93
|
flash[:error] = 'Cannot Activate Pipelines.'
|
94
94
|
else
|
95
95
|
@re_pipelines.each do |re_pipeline|
|
@@ -109,8 +109,12 @@ class RePipelinesController < ApplicationController
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def activate
|
112
|
-
@re_pipeline.
|
113
|
-
|
112
|
+
if @re_pipeline.pipeline_error
|
113
|
+
flash[:error] = 'Cannot Activate Pipelines.'
|
114
|
+
else
|
115
|
+
@re_pipeline.activate!
|
116
|
+
flash[:success] = 'Pipeline Activated.'
|
117
|
+
end
|
114
118
|
|
115
119
|
respond_to do |format|
|
116
120
|
format.html do
|
@@ -40,7 +40,13 @@ class ReJob < ActiveRecord::Base
|
|
40
40
|
'start_date' => job_audit.audit_date,
|
41
41
|
'start_data' => job_audit.audit_message,
|
42
42
|
})
|
43
|
-
|
43
|
+
else
|
44
|
+
result.merge!({
|
45
|
+
'start_date' => Time.parse(result['job_date']).utc,
|
46
|
+
'start_data' => ""
|
47
|
+
})
|
48
|
+
end
|
49
|
+
|
44
50
|
|
45
51
|
if result['job_status'].to_i != ReJob::JOB_STATUS_RUNNING
|
46
52
|
job_audit = ReJobAudit.find(:all, :conditions => ["re_job_id = ?", result['job_id']], :order => "audit_date DESC", :limit => 1).first
|
@@ -4,12 +4,12 @@ class RePipelineActivated < RePipelineBase
|
|
4
4
|
def self.find_by_code(code)
|
5
5
|
return find_by_code_without_caching(code) unless RulesEngine::Cache.perform_caching?
|
6
6
|
|
7
|
-
code.gsub
|
8
|
-
re_pipeline = RulesEngine::Cache.cache_store.read("activated_pipeline_#{
|
7
|
+
cache_code = code.gsub(/[^a-zA-Z0-9]+/i, '_')
|
8
|
+
re_pipeline = RulesEngine::Cache.cache_store.read("activated_pipeline_#{cache_code}")
|
9
9
|
if (re_pipeline.nil?)
|
10
|
-
re_pipeline = find_by_code_without_caching(
|
10
|
+
re_pipeline = find_by_code_without_caching(cache_code)
|
11
11
|
|
12
|
-
RulesEngine::Cache.cache_store.write("activated_pipeline_#{
|
12
|
+
RulesEngine::Cache.cache_store.write("activated_pipeline_#{cache_code}", re_pipeline)
|
13
13
|
end
|
14
14
|
|
15
15
|
re_pipeline
|
@@ -22,8 +22,8 @@ class RePipelineActivated < RePipelineBase
|
|
22
22
|
def self.reset_cache(code)
|
23
23
|
return unless RulesEngine::Cache.perform_caching?
|
24
24
|
|
25
|
-
code.gsub
|
26
|
-
RulesEngine::Cache.cache_store.delete("activated_pipeline_#{
|
25
|
+
cache_code = code.gsub(/[^a-zA-Z0-9]+/i, '_')
|
26
|
+
RulesEngine::Cache.cache_store.delete("activated_pipeline_#{cache_code}")
|
27
27
|
end
|
28
28
|
|
29
29
|
end
|
@@ -52,12 +52,7 @@ class RePipelineBase < ActiveRecord::Base
|
|
52
52
|
|
53
53
|
def pipeline_error
|
54
54
|
return 'rules required' if re_rules.empty?
|
55
|
-
|
56
|
-
re_rules.each do |re_rule|
|
57
|
-
error = re_rule.rule_error
|
58
|
-
return error unless error.blank?
|
59
|
-
end
|
60
|
-
|
55
|
+
return 'error within rules' if re_rules.any? { | re_rule | re_rule.rule_error }
|
61
56
|
nil
|
62
57
|
end
|
63
58
|
|
@@ -4,7 +4,7 @@ class ReRule < ActiveRecord::Base
|
|
4
4
|
|
5
5
|
has_many :re_rule_expected_outcomes, :dependent => :destroy, :order => "outcome ASC"
|
6
6
|
has_many :re_job_audits
|
7
|
-
|
7
|
+
|
8
8
|
validates_associated :re_pipeline
|
9
9
|
validates_presence_of :rule_class_name
|
10
10
|
|
@@ -86,16 +86,16 @@ class ReRule < ActiveRecord::Base
|
|
86
86
|
|
87
87
|
def rule_error
|
88
88
|
return "#{title} class #{rule_class_name} invalid" if rule.nil?
|
89
|
-
return "#{
|
89
|
+
return "#{rule.errors.values.join(', ')}" unless rule.valid?
|
90
90
|
|
91
91
|
re_rule_expected_outcomes.each do |re_rule_expected_outcome|
|
92
92
|
next if re_rule_expected_outcome.pipeline_code.blank?
|
93
93
|
|
94
|
-
|
95
|
-
return "#{re_rule_expected_outcome.pipeline_code}
|
94
|
+
re_pipeline = RePipeline.find_by_code(re_rule_expected_outcome.pipeline_code)
|
95
|
+
return "#{re_rule_expected_outcome.pipeline_code} missing" if re_pipeline.nil?
|
96
96
|
|
97
|
-
pipeline_error =
|
98
|
-
return "#{re_rule_expected_outcome.pipeline_code} invalid" unless
|
97
|
+
pipeline_error = re_pipeline.pipeline_error
|
98
|
+
return "#{re_rule_expected_outcome.pipeline_code} invalid" unless re_pipeline.pipeline_error.blank?
|
99
99
|
end
|
100
100
|
|
101
101
|
nil
|
@@ -4,7 +4,6 @@
|
|
4
4
|
<tr class="<%= cycle('', 'odd') %>">
|
5
5
|
<td class="no-border-right">
|
6
6
|
<%
|
7
|
-
job_date = re_job['start_date']
|
8
7
|
case re_job['job_status'].to_i
|
9
8
|
when ReJob::JOB_STATUS_NONE, ReJob::JOB_STATUS_RUNNING
|
10
9
|
job_class = 'job-running'
|
@@ -23,7 +22,7 @@
|
|
23
22
|
<td class="no-border-left text-right">
|
24
23
|
<a class="re-job-detail" href='#<%= re_job['job_id'] %>'>
|
25
24
|
<div>
|
26
|
-
<%=
|
25
|
+
<%= re_job['start_date'].strftime('%d %b %Y - %H:%M:%S') %>
|
27
26
|
</div>
|
28
27
|
</a>
|
29
28
|
</td>
|
@@ -10,8 +10,7 @@
|
|
10
10
|
<div class="span-6 <%= local_new_row ? 'left-20' : 'left-10' %> re-rule-show">
|
11
11
|
<div class="<%= re_rule_error.blank? ? 're-bluebox' : 're-redbox' %> re-rule-status-<%= re_rule_error.blank? ? 'valid' : 'verify' %>"><%= re_rule.title %></div>
|
12
12
|
<div class="<%= re_rule_error.blank? ? 're-bluebox' : 're-redbox' %> no-top">
|
13
|
-
<p class="top-5"><%= re_rule.summary %></p>
|
14
|
-
|
13
|
+
<p class="top-5"><%= re_rule.summary %></p>
|
15
14
|
<div class="top-10 float-right">
|
16
15
|
<% if re_rule.re_rule_expected_outcomes.empty? %>
|
17
16
|
<div class="re-rule-continue">Continue</div>
|
@@ -4,12 +4,12 @@
|
|
4
4
|
<%= link_to("Edit Pipeline Details", "##{@re_pipeline.id}", :id => "re_pipeline_edit") %>
|
5
5
|
</h3>
|
6
6
|
|
7
|
-
<% if changed_status == RePipelineBase::CHANGED_STATUS_DRAFT %>
|
7
|
+
<% if changed_status == RePipelineBase::CHANGED_STATUS_DRAFT && !@re_pipeline.pipeline_error %>
|
8
8
|
<h3 class="re-pipeline-activate float-left clear">
|
9
9
|
<%= link_to("Activate Pipeline", "##{@re_pipeline.id}", :id => "re_pipeline_activate") %>
|
10
10
|
</h3>
|
11
11
|
<% end %>
|
12
|
-
<% if changed_status == RePipelineBase::CHANGED_STATUS_CHANGED %>
|
12
|
+
<% if changed_status == RePipelineBase::CHANGED_STATUS_CHANGED && !@re_pipeline.pipeline_error %>
|
13
13
|
<h3 class="re-pipeline-activate float-left clear">
|
14
14
|
<%= link_to("Activate Pipeline Changes", "##{@re_pipeline.id}", :id => "re_pipeline_activate") %>
|
15
15
|
</h3>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
desc "run a rules pipeline with the complex rule"
|
2
|
+
task :rules_engine => :environment do
|
3
|
+
|
4
|
+
if ENV['re_pipeline_code'].blank?
|
5
|
+
raise "usage: rake rules_engine re_pipeline_code=[pipeline code] re_param='[value]'"
|
6
|
+
end
|
7
|
+
|
8
|
+
data = ENV.inject({}){ |data, value| data[value[0].sub(/^re_/, '').to_sym] = value[1] if value[0] =~ /^re_/; data }
|
9
|
+
|
10
|
+
job = RulesEngine::Job.create
|
11
|
+
# job = RulesEngine::Job.open(job.re_job.id)
|
12
|
+
|
13
|
+
result = job.run(data[:pipeline_code], data)
|
14
|
+
|
15
|
+
puts "rule completed : data = #{data.inspect}"
|
16
|
+
end
|
@@ -269,10 +269,10 @@ describe RePipelinesController do
|
|
269
269
|
|
270
270
|
before do
|
271
271
|
@re_pipeline_1 = mock_model(RePipeline)
|
272
|
-
@re_pipeline_1.stub!(:
|
272
|
+
@re_pipeline_1.stub!(:pipeline_error).and_return(nil)
|
273
273
|
@re_pipeline_1.stub!(:activate!)
|
274
274
|
@re_pipeline_2 = mock_model(RePipeline)
|
275
|
-
@re_pipeline_2.stub!(:
|
275
|
+
@re_pipeline_2.stub!(:pipeline_error).and_return(nil)
|
276
276
|
@re_pipeline_2.stub!(:activate!)
|
277
277
|
RePipeline.stub!(:find).and_return([@re_pipeline_1, @re_pipeline_2])
|
278
278
|
end
|
@@ -283,7 +283,7 @@ describe RePipelinesController do
|
|
283
283
|
assigns[:re_pipelines].should == [@re_pipeline_1, @re_pipeline_2]
|
284
284
|
end
|
285
285
|
|
286
|
-
describe "
|
286
|
+
describe "no errors in the pipelines" do
|
287
287
|
it "should activate all of the re_pipeline" do
|
288
288
|
@re_pipeline_1.should_receive(:activate!)
|
289
289
|
@re_pipeline_2.should_receive(:activate!)
|
@@ -296,15 +296,15 @@ describe RePipelinesController do
|
|
296
296
|
end
|
297
297
|
end
|
298
298
|
|
299
|
-
describe "one of the pipelines
|
299
|
+
describe "one of the pipelines has errors" do
|
300
300
|
before(:each) do
|
301
|
-
@re_pipeline_2.stub!(:
|
302
|
-
@re_pipeline_2.stub!(:
|
301
|
+
@re_pipeline_2.stub!(:pipeline_error).and_return("you bet")
|
302
|
+
@re_pipeline_2.stub!(:pipeline_error).and_return("you bet")
|
303
303
|
end
|
304
304
|
|
305
305
|
it "should stop checking at the first invalid pipeline" do
|
306
|
-
@re_pipeline_1.should_receive(:
|
307
|
-
@re_pipeline_2.should_not_receive(:
|
306
|
+
@re_pipeline_1.should_receive(:pipeline_error).and_return("you bet")
|
307
|
+
@re_pipeline_2.should_not_receive(:pipeline_error)
|
308
308
|
put :activate_all
|
309
309
|
end
|
310
310
|
|
@@ -336,7 +336,8 @@ describe RePipelinesController do
|
|
336
336
|
|
337
337
|
before do
|
338
338
|
@re_pipeline = mock_model(RePipeline)
|
339
|
-
@re_pipeline.stub!(:
|
339
|
+
@re_pipeline.stub!(:pipeline_error).and_return(nil)
|
340
|
+
@re_pipeline.stub!(:activate!)
|
340
341
|
RePipeline.stub!(:find).and_return(@re_pipeline)
|
341
342
|
end
|
342
343
|
|
@@ -346,14 +347,32 @@ describe RePipelinesController do
|
|
346
347
|
assigns[:re_pipeline].should == @re_pipeline
|
347
348
|
end
|
348
349
|
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
350
|
+
describe "the pipeline is valid" do
|
351
|
+
it "should activate the re_pipeline" do
|
352
|
+
@re_pipeline.should_receive(:activate!)
|
353
|
+
put :activate, :id => 123
|
354
|
+
end
|
353
355
|
|
354
|
-
|
355
|
-
|
356
|
-
|
356
|
+
it "should display a flash success message" do
|
357
|
+
put :activate, :id => 123
|
358
|
+
flash[:success].should_not be_blank
|
359
|
+
end
|
360
|
+
end
|
361
|
+
|
362
|
+
describe "the pipeline is invalid" do
|
363
|
+
before(:each) do
|
364
|
+
@re_pipeline.stub!(:pipeline_error).and_return("you bet")
|
365
|
+
end
|
366
|
+
|
367
|
+
it "should not activate the pipeline" do
|
368
|
+
@re_pipeline.should_not_receive(:activate!)
|
369
|
+
put :activate, :id => 123
|
370
|
+
end
|
371
|
+
|
372
|
+
it "should display a flash error message" do
|
373
|
+
put :activate, :id => 123
|
374
|
+
flash[:error].should_not be_blank
|
375
|
+
end
|
357
376
|
end
|
358
377
|
|
359
378
|
it "should redirect to the change re_pipeline page for HTML" do
|
@@ -475,5 +494,4 @@ describe RePipelinesController do
|
|
475
494
|
end
|
476
495
|
end
|
477
496
|
|
478
|
-
|
479
497
|
end
|
@@ -24,31 +24,31 @@ describe RePipelineBase do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should replace any nonprint cahracters with an _" do
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
re_pipeline = RePipelineBase.new(valid_attributes.merge(:code => "my code"))
|
28
|
+
re_pipeline.save!
|
29
|
+
re_pipeline.code.should == "my_code"
|
30
30
|
end
|
31
31
|
|
32
32
|
|
33
33
|
it "should change the code to lower case when creating" do
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
re_pipeline = RePipelineBase.new(valid_attributes.merge(:code => "My code"))
|
35
|
+
re_pipeline.save!
|
36
|
+
re_pipeline.code.should == "my_code"
|
37
37
|
end
|
38
38
|
|
39
39
|
describe "code cannot be changed after creation" do
|
40
40
|
it "should save the code with a new record" do
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
re_pipeline = RePipelineBase.new(valid_attributes.merge(:code => "my code"))
|
42
|
+
re_pipeline.save!
|
43
|
+
re_pipeline.code.should == "my_code"
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should ignore the code attribute for an existing record" do
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
47
|
+
re_pipeline = RePipelineBase.new(valid_attributes.merge(:code => "my code"))
|
48
|
+
re_pipeline.save!
|
49
|
+
re_pipeline.code = "new_code"
|
50
|
+
re_pipeline.save!
|
51
|
+
re_pipeline.code.should == "my_code"
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -103,8 +103,8 @@ describe RePipelineBase do
|
|
103
103
|
@re_pipeline_2 = RePipeline.new(valid_attributes)
|
104
104
|
@re_pipeline_1.stub!(:re_rules).and_return([@rule_1, @rule_2])
|
105
105
|
@re_pipeline_2.stub!(:re_rules).and_return([@rule_1, @rule_2])
|
106
|
-
|
107
106
|
end
|
107
|
+
|
108
108
|
it "should not compare the rules if the the number is different" do
|
109
109
|
@re_pipeline_2.stub!(:re_rules).and_return([@rule_1])
|
110
110
|
|
@@ -155,10 +155,10 @@ describe RePipelineBase do
|
|
155
155
|
end
|
156
156
|
|
157
157
|
it "should stop on the first rule error" do
|
158
|
-
@re_rule1.should_receive(:rule_error).at_least(:once).and_return("
|
158
|
+
@re_rule1.should_receive(:rule_error).at_least(:once).and_return("oops")
|
159
159
|
@re_rule2.should_not_receive(:rule)
|
160
160
|
|
161
|
-
@re_pipeline.pipeline_error.should == "
|
161
|
+
@re_pipeline.pipeline_error.should == "error within rules"
|
162
162
|
end
|
163
163
|
end
|
164
164
|
end
|
@@ -318,30 +318,23 @@ describe ReRule do
|
|
318
318
|
@re_rule.rule_error.should be_nil
|
319
319
|
end
|
320
320
|
|
321
|
-
it "should validate the
|
321
|
+
it "should validate the pipeline is present and activated" do
|
322
322
|
re_rule_expected_outcome = mock_model(ReRuleExpectedOutcome, :pipeline_code => "mock_pipeline_code", :outcome => RulesEngine::RuleOutcome::OUTCOME_START_PIPELINE)
|
323
|
-
|
323
|
+
RePipeline.should_receive(:find_by_code).and_return(mock("RePipeline", :pipeline_error => nil))
|
324
324
|
@re_rule.stub!(:re_rule_expected_outcomes).and_return([re_rule_expected_outcome])
|
325
325
|
@re_rule.rule_error.should be_nil
|
326
326
|
end
|
327
327
|
|
328
|
-
it "should return '[pipeline_code]
|
328
|
+
it "should return '[pipeline_code] missing' if the required pipeline is missing" do
|
329
329
|
re_rule_expected_outcome = mock_model(ReRuleExpectedOutcome, :pipeline_code => "mock_pipeline_code", :outcome => RulesEngine::RuleOutcome::OUTCOME_START_PIPELINE)
|
330
|
-
|
330
|
+
RePipeline.should_receive(:find_by_code).and_return(nil)
|
331
331
|
@re_rule.stub!(:re_rule_expected_outcomes).and_return([re_rule_expected_outcome])
|
332
|
-
@re_rule.rule_error.should == "mock_pipeline_code
|
333
|
-
end
|
334
|
-
|
335
|
-
it "should return '[pipeline_code] not activated' if the required pipeline has not been activated" do
|
336
|
-
re_rule_expected_outcome = mock_model(ReRuleExpectedOutcome, :pipeline_code => "mock_pipeline_code", :outcome => RulesEngine::RuleOutcome::OUTCOME_START_PIPELINE)
|
337
|
-
RePipelineActivated.should_receive(:find_by_code).and_return(nil)
|
338
|
-
@re_rule.stub!(:re_rule_expected_outcomes).and_return([re_rule_expected_outcome])
|
339
|
-
@re_rule.rule_error.should == "mock_pipeline_code not activated"
|
332
|
+
@re_rule.rule_error.should == "mock_pipeline_code missing"
|
340
333
|
end
|
341
334
|
|
342
335
|
it "should return '[pipeline_code] invalid' if the required pipeline has errors" do
|
343
336
|
re_rule_expected_outcome = mock_model(ReRuleExpectedOutcome, :pipeline_code => "mock_pipeline_code", :outcome => RulesEngine::RuleOutcome::OUTCOME_START_PIPELINE)
|
344
|
-
|
337
|
+
RePipeline.should_receive(:find_by_code).and_return(mock("RePipeline", :pipeline_error => "pipeline error"))
|
345
338
|
@re_rule.stub!(:re_rule_expected_outcomes).and_return([re_rule_expected_outcome])
|
346
339
|
@re_rule.rule_error.should == "mock_pipeline_code invalid"
|
347
340
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rules_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 7
|
10
|
+
version: 0.0.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Chris Douglas
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-06-
|
18
|
+
date: 2010-06-24 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -159,7 +159,7 @@ files:
|
|
159
159
|
- rails_generators/templates/features/step_definitions/common/re_view_steps.rb
|
160
160
|
- rails_generators/templates/features/support/blueprint_re_pipelines.rb
|
161
161
|
- rails_generators/templates/features/support/rules_engine.rb
|
162
|
-
- rails_generators/templates/lib/tasks/
|
162
|
+
- rails_generators/templates/lib/tasks/rules_engine.rake
|
163
163
|
- rails_generators/templates/public/javascripts/jquery-1.4.2.min.js
|
164
164
|
- rails_generators/templates/public/javascripts/jquery.autocomplete.pack.js
|
165
165
|
- rails_generators/templates/public/javascripts/jquery.blockUI.js
|
@@ -1,19 +0,0 @@
|
|
1
|
-
namespace :re do
|
2
|
-
|
3
|
-
desc "run a rules pipeline with the complex rule"
|
4
|
-
task :execute => :environment do
|
5
|
-
|
6
|
-
if ENV['re_pipeline_code'].blank?
|
7
|
-
raise "usage: rake re:execute re_pipeline_code=[pipeline code] re_param='[value]'"
|
8
|
-
end
|
9
|
-
|
10
|
-
data = ENV.inject({}){ |data, value| data[value[0].sub(/^re_/, '').to_sym] = value[1] if value[0] =~ /^re_/; data }
|
11
|
-
|
12
|
-
job = RulesEngine::Job.create
|
13
|
-
# job = RulesEngine::Job.open(job.re_job.id)
|
14
|
-
|
15
|
-
result = job.run(data[:pipeline_code], data)
|
16
|
-
|
17
|
-
puts "rule completed : data = #{data.inspect}"
|
18
|
-
end
|
19
|
-
end
|