|
69 | 69 | var _rules = this.activeRules; |
70 | 70 |
|
71 | 71 |
|
72 | | - (function doit(x) { |
| 72 | + (function FnRuleLoop(x) { |
73 | 73 |
|
74 | 74 |
|
75 | | - var R = {}; |
76 | | - |
77 | | - R.when = function(outcome) { |
| 75 | + var API = { |
| 76 | + |
| 77 | + "when" : function(outcome) { |
78 | 78 |
|
79 | | - if (outcome) { |
| 79 | + if (outcome) { |
80 | 80 |
|
81 | | - var _consequence = _rules[x].consequence; |
82 | | - _consequence.call(session, R); |
| 81 | + var _consequence = _rules[x].consequence; |
| 82 | + _consequence.call(session, API); |
83 | 83 |
|
84 | | - } else { |
| 84 | + } else { |
85 | 85 |
|
86 | | - process.nextTick(function(){ |
87 | | - R.next(); |
88 | | - }); |
| 86 | + process.nextTick(function(){ |
| 87 | + R.next(); |
| 88 | + }); |
89 | 89 |
|
90 | | - } |
91 | | - |
92 | | - } |
| 90 | + } |
| 91 | + |
| 92 | + }, |
93 | 93 |
|
94 | | - R.restart = function() { |
| 94 | + "restart" : function() { |
95 | 95 |
|
96 | | - return doit(0); |
| 96 | + return FnRuleLoop(0); |
97 | 97 |
|
98 | | - }; |
| 98 | + }, |
99 | 99 |
|
100 | | - R.stop = function() { |
| 100 | + "stop" : function() { |
101 | 101 |
|
102 | | - complete = true; |
103 | | - return doit(0); |
| 102 | + complete = true; |
| 103 | + return FnRuleLoop(0); |
104 | 104 |
|
105 | | - }; |
| 105 | + }, |
106 | 106 |
|
107 | | - R.next = function () { |
| 107 | + "next" : function () { |
108 | 108 |
|
109 | | - if (!_.isEqual(lastSession,session)) { |
| 109 | + if (!_.isEqual(lastSession,session)) { |
110 | 110 |
|
111 | | - lastSession = _.clone(session); |
112 | | - process.nextTick(function(){ |
113 | | - R.restart(); |
114 | | - }); |
| 111 | + lastSession = _.clone(session); |
| 112 | + process.nextTick(function(){ |
| 113 | + R.restart(); |
| 114 | + }); |
115 | 115 |
|
116 | | - } else { |
117 | | - |
118 | | - process.nextTick(function(){ |
119 | | - return doit(x+1); |
120 | | - }); |
121 | | - |
122 | | - } |
| 116 | + } else { |
| 117 | + |
| 118 | + process.nextTick(function(){ |
| 119 | + return FnRuleLoop(x+1); |
| 120 | + }); |
| 121 | + |
| 122 | + } |
123 | 123 |
|
124 | | - } |
| 124 | + } |
125 | 125 |
|
| 126 | + }; |
| 127 | + |
126 | 128 | if (x < _rules.length && complete === false) { |
127 | 129 |
|
128 | 130 | var _rule = _rules[x].condition; |
129 | | - _rule.call(session, R); |
| 131 | + _rule.call(session, API); |
130 | 132 |
|
131 | 133 | } else { |
132 | 134 |
|
|
0 commit comments