goat 0.3.11 → 0.3.12

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/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.11'
3
+ s.version = '0.3.12'
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
@@ -1,33 +1,18 @@
1
1
  (function(){
2
2
  var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
3
- // The base Class implementation (does nothing)
4
3
  this.Class = function(){};
5
-
6
- // Create a new Class that inherits from this class
7
4
  Class.extend = function(prop) {
8
5
  var _super = this.prototype;
9
-
10
- // Instantiate a base class (but only create the instance,
11
- // don't run the init constructor)
12
6
  initializing = true;
13
7
  var prototype = new this();
14
8
  initializing = false;
15
-
16
- // Copy the properties over onto the new prototype
17
9
  for (var name in prop) {
18
- // Check if we're overwriting an existing function
19
10
  prototype[name] = typeof prop[name] == "function" &&
20
11
  typeof _super[name] == "function" && fnTest.test(prop[name]) ?
21
12
  (function(name, fn){
22
13
  return function() {
23
14
  var tmp = this._super;
24
-
25
- // Add a new ._super() method that is the same method
26
- // but on the super-class
27
15
  this._super = _super[name];
28
-
29
- // The method only need to be bound temporarily, so we
30
- // remove it when we're done executing
31
16
  var ret = fn.apply(this, arguments);
32
17
  this._super = tmp;
33
18
 
@@ -36,23 +21,14 @@
36
21
  })(name, prop[name]) :
37
22
  prop[name];
38
23
  }
39
-
40
- // The dummy class constructor
41
24
  function Class() {
42
25
  // All construction is actually done in the init method
43
26
  if ( !initializing && this.init )
44
27
  this.init.apply(this, arguments);
45
28
  }
46
-
47
- // Populate our constructed prototype object
48
29
  Class.prototype = prototype;
49
-
50
- // Enforce the constructor to be what we expect
51
30
  Class.constructor = Class;
52
-
53
- // And make this class extendable
54
31
  Class.extend = arguments.callee;
55
-
56
32
  return Class;
57
33
  };
58
34
  })();
@@ -67,12 +43,9 @@ String.random = function string_random(len, pref) {
67
43
  return pref ? (pref + '_' + str) : str;
68
44
  }
69
45
 
70
- $(document).ready(function() {
71
- Goat.loadComponents();
72
- setTimeout(function() { if(Goat.page_id) Goat.openChannel(); }, 1000);
73
- });
46
+ var Goat = {}
74
47
 
75
- var GoatRT = {
48
+ Goat.RT = {
76
49
  version: 0,
77
50
  pendingTxns: {},
78
51
  ops: {},
@@ -171,7 +144,7 @@ var GoatRT = {
171
144
  }
172
145
 
173
146
  function newTxn() {
174
- var op = new RTTxn();
147
+ var op = new Goat.RTTxn();
175
148
  rt.ops[op.code] = op;
176
149
  return op;
177
150
  }
@@ -191,7 +164,7 @@ var GoatRT = {
191
164
  delete rt.pendingTxns[txn];
192
165
 
193
166
  if(pendingCount() == 0) {
194
- LoadingIndicator.hide();
167
+ Goat.LoadingIndicator.hide();
195
168
  }
196
169
 
197
170
  if(txn.complete) txn.complete();
@@ -213,9 +186,9 @@ var GoatRT = {
213
186
  rt.txnCompleteMsg = txnCompleteMsg;
214
187
 
215
188
  return rt;
216
- })(GoatRT);
189
+ })(Goat.RT);
217
190
 
218
- var LoadingIndicator = {
191
+ Goat.LoadingIndicator = {
219
192
  url: null,
220
193
  indicator: null,
221
194
  where: null,
@@ -247,9 +220,9 @@ var LoadingIndicator = {
247
220
  ld.hide = hide;
248
221
 
249
222
  return ld;
250
- })(LoadingIndicator);
223
+ })(Goat.LoadingIndicator);
251
224
 
252
- var RTTxn = Class.extend({
225
+ Goat.RTTxn = Class.extend({
253
226
  init: function() {
254
227
  this.code = String.random(8, 'txn');
255
228
  },
@@ -263,7 +236,7 @@ var RTTxn = Class.extend({
263
236
  }
264
237
  });
265
238
 
266
- var GoatRPC = Class.extend({
239
+ Goat.RPC = Class.extend({
267
240
  init: function(c, n) {
268
241
  this.component = c;
269
242
  this.name = n;
@@ -324,14 +297,14 @@ var GoatRPC = Class.extend({
324
297
  data['args'] = JSON.stringify(this.args);
325
298
 
326
299
  if(this.rt) {
327
- var txn = GoatRT.newTxn();
300
+ var txn = Goat.RT.newTxn();
328
301
  data['rttxn'] = txn.code;
329
302
  txn.onComplete(this.updateComplete);
330
- GoatRT.beginTxn(txn);
303
+ Goat.RT.beginTxn(txn);
331
304
  }
332
305
 
333
306
  if(this.start) this.start()
334
- else if(this.rt) LoadingIndicator.show();
307
+ else if(this.rt) Goat.LoadingIndicator.show();
335
308
 
336
309
  $.ajax({
337
310
  type: 'POST',
@@ -352,20 +325,20 @@ var GoatRPC = Class.extend({
352
325
  }
353
326
  });
354
327
 
355
- var Goat = {
356
- channelOpenFails: 0,
357
- activeChannel: null,
358
- pageDead: false,
359
- components: {},
360
- page_id: null
361
- }
362
-
363
328
  function closure(target, fn) {
364
329
  return function() {
365
330
  return fn.apply(target, arguments);
366
331
  }
367
332
  }
368
333
 
334
+ $.extend(Goat, {
335
+ channelOpenFails: 0,
336
+ activeChannel: null,
337
+ pageDead: false,
338
+ components: {},
339
+ page_id: null
340
+ });
341
+
369
342
  $.extend(Goat, {
370
343
  closure: function(fn) { return closure(this, fn); },
371
344
 
@@ -394,7 +367,7 @@ $.extend(Goat, {
394
367
 
395
368
  var t = m['type'];
396
369
  if(t == 'component_updated') {
397
- GoatRT.updateReceived(m);
370
+ Goat.RT.updateReceived(m);
398
371
  } else if(t == 'redirect') {
399
372
  console.log("Redirecting to " + m['location']);
400
373
  sleep(2);
@@ -403,7 +376,7 @@ $.extend(Goat, {
403
376
  alert("Due to inactivity, you'll need to refresh this page.");
404
377
  Goat.setPageDead();
405
378
  } else if(t == 'txn_complete') {
406
- GoatRT.txnCompleteMsg(m);
379
+ Goat.RT.txnCompleteMsg(m);
407
380
  } else if(t == 'alert') {
408
381
  this.showAlert(m);
409
382
  } else {
@@ -468,7 +441,7 @@ $.extend(Goat, {
468
441
  });
469
442
 
470
443
  var base = Goat.channelURL();
471
- var src = base + '?_id=' + Goat.page_id + '&jsonp=' + jsonp + '&version=' + GoatRT.version;
444
+ var src = base + '?_id=' + Goat.page_id + '&jsonp=' + jsonp + '&version=' + Goat.RT.version;
472
445
 
473
446
  scriptTag.addEventListener('load', function() { cleanup(); Goat.reopenChannel(); }, false);
474
447
  scriptTag.addEventListener('error', function() { cleanup(); logError(); Goat.reopenChannel(); }, false);
@@ -514,3 +487,9 @@ $.extend(Goat, {
514
487
  });
515
488
  }
516
489
  });
490
+
491
+ $(document).ready(function() {
492
+ Goat.loadComponents();
493
+ setTimeout(function() { if(Goat.page_id) Goat.openChannel(); }, 1000);
494
+ });
495
+
@@ -23,7 +23,7 @@ var Component = Class.extend({
23
23
  },
24
24
 
25
25
  rpc: function(name) {
26
- return new GoatRPC(this, name);
26
+ return new Goat.RPC(this, name);
27
27
  },
28
28
 
29
29
  $: function(sel) {
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: 5
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 11
10
- version: 0.3.11
9
+ - 12
10
+ version: 0.3.12
11
11
  platform: ruby
12
12
  authors:
13
13
  - Patrick Collison