goat 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/goat.gemspec +1 -1
  2. data/lib/goat/goat.js +20 -2
  3. metadata +4 -4
data/goat.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'goat'
3
- s.version = '0.3.8'
3
+ s.version = '0.3.9'
4
4
  s.summary = 'Pre-release beta version of Goat'
5
5
  s.author = 'Patrick Collison'
6
6
  s.email = 'patrick@collison.ie'
data/lib/goat/goat.js CHANGED
@@ -75,7 +75,8 @@ $(document).ready(function() {
75
75
  var GoatRT = {
76
76
  version: 0,
77
77
  pendingTxns: {},
78
- ops: {}
78
+ ops: {},
79
+ consecutiveFailures: 0
79
80
  };
80
81
 
81
82
  (function(rt) {
@@ -153,12 +154,18 @@ var GoatRT = {
153
154
 
154
155
  if(m.version == rt.version + 1) {
155
156
  $(updates).each(function(_,u) {
157
+ rt.consecutiveFailures = 0;
156
158
  applyUpdate(u);
157
159
  });
158
160
  rt.version++;
159
161
  } else if(m.version <= rt.version) {
162
+ rt.consecutiveFailures = 0;
160
163
  // fine, we already have this
161
164
  } else {
165
+ rt.consecutiveFailures++;
166
+ if(rt.consecutiveFailures > 5) {
167
+ Goat.setPageDead();
168
+ }
162
169
  updateFailed("Tried to apply update " + version + ", but I'm only at version " + rt.version);
163
170
  }
164
171
  }
@@ -275,9 +282,16 @@ var GoatRPC = Class.extend({
275
282
  return this;
276
283
  },
277
284
 
285
+ pageDeadFailure: function() {
286
+ alert("Sorry, you'll need to reload the page before this will work.");
287
+ },
288
+
278
289
  send: function() {
279
290
  var data = this.data;
280
291
 
292
+ if(Goat.pageDead)
293
+ return this.pageDeadFailure();
294
+
281
295
  data['cls'] = this.component.cls;
282
296
  data['id'] = this.component.id;
283
297
  data['rpc'] = this.name;
@@ -346,6 +360,10 @@ $.extend(Goat, {
346
360
  alert(alert_msg);
347
361
  },
348
362
 
363
+ setPageDead: function() {
364
+ this.pageDead = true;
365
+ },
366
+
349
367
  messageReceived: function(m) {
350
368
  console.log(m);
351
369
 
@@ -358,7 +376,7 @@ $.extend(Goat, {
358
376
  window.location = m['location'];
359
377
  } else if(t == 'page_expired') {
360
378
  alert("Due to inactivity, you'll need to refresh this page.");
361
- Goat.pageDead = true;
379
+ Goat.setPageDead();
362
380
  } else if(t == 'txn_complete') {
363
381
  GoatRT.txnCompleteMsg(m);
364
382
  } else if(t == 'alert') {
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goat
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 8
10
- version: 0.3.8
9
+ - 9
10
+ version: 0.3.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Patrick Collison
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-19 00:00:00 +00:00
18
+ date: 2010-11-20 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies: []
21
21