rules_engine 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -89,11 +89,15 @@ class RePipelinesController < ApplicationController
89
89
  klass = RePipeline
90
90
  @re_pipelines = klass.find(:all)
91
91
 
92
- @re_pipelines.each do |re_pipeline|
93
- re_pipeline.activate!
92
+ if @re_pipelines.any? { | re_pipeline| !re_pipeline.valid? }
93
+ flash[:error] = 'Cannot Activate Pipelines.'
94
+ else
95
+ @re_pipelines.each do |re_pipeline|
96
+ re_pipeline.activate!
97
+ end
98
+ flash[:success] = 'All Pipelines Activated.'
94
99
  end
95
- flash[:success] = 'All Pipelines Activated.'
96
-
100
+
97
101
  respond_to do |format|
98
102
  format.html do
99
103
  redirect_to(re_pipelines_path)
@@ -61,26 +61,26 @@ class ReRule < ActiveRecord::Base
61
61
  end
62
62
 
63
63
  def rule_attributes=params
64
- raise 'rule class not found' if rule.nil?
64
+ raise 'rule class not found' if rule.nil?
65
65
  rule.attributes = params
66
66
  end
67
67
 
68
68
  def before_save_rule
69
- raise 'rule class not found' if rule.nil?
69
+ return if rule.nil?
70
70
  self.title = rule.title
71
71
  self.summary = rule.summary
72
72
  self.data = rule.data
73
73
 
74
- self.re_rule_expected_outcomes = (rule.expected_outcomes).map { |expected_outcome| ReRuleExpectedOutcome.new(expected_outcome) }
74
+ self.re_rule_expected_outcomes = (rule.expected_outcomes || []).map { |expected_outcome| ReRuleExpectedOutcome.new(expected_outcome) }
75
75
  end
76
76
 
77
77
  def after_create_rule
78
- # raise 'rule class not found' if rule.nil?
78
+ return if rule.nil?
79
79
  rule.after_add_to_pipeline(self.re_pipeline_id, self.id)
80
80
  end
81
81
 
82
82
  def before_destroy_rule
83
- # raise 'rule class not found' if rule.nil?
83
+ return if rule.nil?
84
84
  rule.before_remove_from_pipeline(self.re_pipeline_id, self.id)
85
85
  end
86
86
 
@@ -5,7 +5,7 @@
5
5
  <div class="span-15 last re-rule-change" id="re_rule_change_<%= re_rule.id %>">
6
6
  <div class="<%= rule_error.blank? ? 're-bluebox' : 're-redbox' %> re-rule-status-<%= rule_error.blank? ? 'valid' : 'verify' %>">
7
7
  <h3 class="float-left"><%= re_rule.title %></h3>
8
- <div class="float-right top-5">
8
+ <div class="float-right">
9
9
  <%= link_to("<span>Edit</span>", "##{@re_pipeline.id}|#{re_rule.id}", :class => "re-rule-edit") %>
10
10
  <%= link_to("<span>Delete</span>", "##{@re_pipeline.id}|#{re_rule.id}", :class => "re-rule-delete") %>
11
11
  <%= link_to("<span>Move Down</span>", "##{@re_pipeline.id}|#{re_rule.id}", :class => "#{local_last_rule ? 're-rule-move-down-off' : 're-rule-move-down'}") %>
@@ -8,11 +8,11 @@
8
8
  <div class="re-rule-class-list hide" id="re_rule_class_name_<%= name.downcase.gsub(/[^a-z0-9]+/i, '_') %>">
9
9
  <% rule_classes.each do |rule_class| %>
10
10
  <div class="re-yellowbox">
11
- <h5>
12
- <%= rule_class.options[:display_name] %>
13
- </h5>
14
11
  <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-new"> <span>Add</span> </a>
15
12
  <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-help"> <span>Help</span> </a>
13
+ <div class="float-left">
14
+ <%= rule_class.options[:display_name] %>
15
+ </div>
16
16
  <div class="clear"></div>
17
17
  </div>
18
18
  <div class="clear top-5"></div>
@@ -23,11 +23,11 @@
23
23
  <div class="re-rule-class-list" id="re_rule_class_name_all">
24
24
  <% RulesEngine::Discovery.rule_classes.each do |rule_class| %>
25
25
  <div class="re-yellowbox">
26
- <h5>
26
+ <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-new"> <span>Add</span> </a>
27
+ <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-help"> <span>Help</span> </a>
28
+ <div class="float-left">
27
29
  <%= rule_class.options[:display_name] %>
28
- </h5>
29
- <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-new"> <span>Add</span> </a>
30
- <a href="#<%=@re_pipeline.id%>|<%= rule_class %>" class="re-rule-class-help"> <span>Help</span> </a>
30
+ </div>
31
31
  <div class="clear"></div>
32
32
  </div>
33
33
  <div class="clear top-5"></div>
@@ -72,7 +72,7 @@ $(document).ready(function() {
72
72
  return false;
73
73
 
74
74
  $.re_block();
75
- $.get('/re_pipelines/' + values[0] + '/re_pipeline_rules/new?rule_class_name=' + values[1], null, null, 'script');
75
+ $.get('/re_pipelines/' + values[0] + '/re_rules/new?rule_class_name=' + values[1], null, null, 'script');
76
76
  return false;
77
77
  });
78
78
 
@@ -94,7 +94,7 @@ $(document).ready(function() {
94
94
  return false;
95
95
 
96
96
  $.re_block();
97
- $.get('/re_pipelines/' + values[0] + '/re_pipeline_rules/' + values[1] + '/edit', null, null, 'script');
97
+ $.get('/re_pipelines/' + values[0] + '/re_rules/' + values[1] + '/edit', null, null, 'script');
98
98
  return false;
99
99
  });
100
100
 
@@ -170,7 +170,7 @@ $(document).ready(function() {
170
170
  return false;
171
171
 
172
172
  $.re_block();
173
- $.get('/re_pipelines/' + values[0] + '/re_pipeline_rules/help?rule_class_name=' + values[1], null, null, 'script');
173
+ $.get('/re_pipelines/' + values[0] + '/re_rules/help?rule_class_name=' + values[1], null, null, 'script');
174
174
  return false;
175
175
  });
176
176
 
@@ -3,7 +3,8 @@ html, body {
3
3
  margin: 0px;
4
4
  padding: 0px;
5
5
  font-size: 14px;
6
- color: #000;
6
+ /* color: #000;*/
7
+ color: #222;
7
8
  background: #2F323C;
8
9
  font-family: "Lucida Grande","Lucida Sans Unicode",verdana,arial,helvetica,sans-serif;
9
10
  }
@@ -15,7 +16,8 @@ html, body {
15
16
 
16
17
  h1, h2, h3, h4, h5, h6 {
17
18
  font-weight:normal;
18
- color:#111;
19
+ /* color:#111;*/
20
+ color: #222;
19
21
  }
20
22
  h1 {
21
23
  font-size:36px;
@@ -11,7 +11,8 @@ a.re-alert-close {
11
11
  padding-left: 24px;
12
12
  }
13
13
  a.re-alert-close:hover {
14
- color: #000;
14
+ /* color: #000;*/
15
+ color: #222;
15
16
  text-decoration: underline;
16
17
  }
17
18
 
@@ -40,7 +40,8 @@
40
40
  display:block;
41
41
  float:left;
42
42
  font-size: 16px;
43
- color: #000;
43
+ /*color: #000;*/
44
+ color: #222;
44
45
  margin-top: 6px;
45
46
  padding-left: 5px;
46
47
  padding-right: 5px;
@@ -1,8 +1,3 @@
1
- /* CHANGE THE RULES MENU */
2
- /*.re-rule-menu .shadowbox-outer{*/
3
- /* padding-bottom: 15px;*/
4
- /*}*/
5
-
6
1
  /* breadcrumb title items */
7
2
  .re-breadcrumbs .re-pipeline-list {
8
3
  background: transparent url('./rules_engine/re_pipeline/list-25.png') no-repeat 0 6px;
@@ -251,18 +246,26 @@ h2.re-rule-edit {
251
246
  padding: 0px 0 0 28px;
252
247
  }
253
248
 
249
+ .re-rule-show p{
250
+ font-size: 13px;
251
+ }
254
252
  .re-rule-show div.re-rule-status-valid {
255
253
  background: transparent url('./rules_engine/re_rule/valid-18.png') no-repeat 2px 2px;
256
254
  padding: 2px 0 4px 24px;
255
+ font-weight: bold;
257
256
  }
258
257
  .re-rule-show div.re-rule-status-verify {
259
258
  background: #FBE3E4 url('./rules_engine/re_rule/verify-18.png') no-repeat 2px 2px;
260
259
  padding: 2px 0 4px 24px;
260
+ font-weight: bold;
261
261
  }
262
262
  .re-rule-change h3 {
263
263
  margin: 0;
264
264
  padding: 0;
265
265
  }
266
+ .re-rule-change p{
267
+ font-size: 13px;
268
+ }
266
269
  .re-rule-change div.re-rule-status-valid {
267
270
  background: transparent url('./rules_engine/re_rule/valid-25.png') no-repeat 2px 2px;
268
271
  padding: 2px 0 4px 31px;
@@ -511,7 +514,8 @@ a.re-rule-class-help span {
511
514
  }
512
515
 
513
516
  a.re-job-detail {
514
- color: #000;
517
+ /* color: #000;*/
518
+ color: #222;
515
519
  text-decoration: none;
516
520
  background-color: #222;
517
521
  }
@@ -269,8 +269,10 @@ describe RePipelinesController do
269
269
 
270
270
  before do
271
271
  @re_pipeline_1 = mock_model(RePipeline)
272
+ @re_pipeline_1.stub!(:valid?).and_return(true)
272
273
  @re_pipeline_1.stub!(:activate!)
273
274
  @re_pipeline_2 = mock_model(RePipeline)
275
+ @re_pipeline_2.stub!(:valid?).and_return(true)
274
276
  @re_pipeline_2.stub!(:activate!)
275
277
  RePipeline.stub!(:find).and_return([@re_pipeline_1, @re_pipeline_2])
276
278
  end
@@ -281,15 +283,41 @@ describe RePipelinesController do
281
283
  assigns[:re_pipelines].should == [@re_pipeline_1, @re_pipeline_2]
282
284
  end
283
285
 
284
- it "should activate all of the re_pipeline" do
285
- @re_pipeline_1.should_receive(:activate!)
286
- @re_pipeline_2.should_receive(:activate!)
287
- put :activate_all
286
+ describe "all of the pipelines are valid" do
287
+ it "should activate all of the re_pipeline" do
288
+ @re_pipeline_1.should_receive(:activate!)
289
+ @re_pipeline_2.should_receive(:activate!)
290
+ put :activate_all
291
+ end
292
+
293
+ it "should display a flash success message" do
294
+ put :activate_all
295
+ flash[:success].should_not be_blank
296
+ end
288
297
  end
298
+
299
+ describe "one of the pipelines is invalid" do
300
+ before(:each) do
301
+ @re_pipeline_2.stub!(:valid?).and_return(false)
302
+ @re_pipeline_2.stub!(:valid?).and_return(false)
303
+ end
304
+
305
+ it "should stop checking at the first invalid pipeline" do
306
+ @re_pipeline_1.should_receive(:valid?).and_return(false)
307
+ @re_pipeline_2.should_not_receive(:valid?)
308
+ put :activate_all
309
+ end
310
+
311
+ it "should not activate the pipelines" do
312
+ @re_pipeline_1.should_not_receive(:activate!)
313
+ @re_pipeline_2.should_not_receive(:activate!)
314
+ put :activate_all
315
+ end
289
316
 
290
- it "should display a flash success message" do
291
- put :activate_all
292
- flash[:success].should_not be_blank
317
+ it "should display a flash error message" do
318
+ put :activate_all
319
+ flash[:error].should_not be_blank
320
+ end
293
321
  end
294
322
 
295
323
  it "should redirect to the re_pipeline index page for HTML" do
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: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Douglas