pacejs_rails 0.4.15 → 0.4.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGY4YmMxNGNiNDgxOTM0MWU1YjYyN2U0NmMxNjM5YTg1ZmFlOTQ0Yw==
4
+ ZGFiYzgyYzJjZGJjMWJjNzNmYWI4M2IwMjE3YjAyMzNkYjkyYWQ4Yg==
5
5
  data.tar.gz: !binary |-
6
- OWJmODExZjU4YTZmOGM3MGY2MWJhMDUxNjJmYjk0ZWM2YWU5ZDExZg==
6
+ ZTYyNDE4YTE4MWI3MGRiOGFmM2E2MmQ1ZWMyNjQwZTFkMjU1NjA1ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGI4MzgyNjBjMTE1ODA5MjkzNzgzMDM5MTIxZDI1NTM5ZTI4MWJhZDM0NjQz
10
- YjMwMzMxODcyNjhkNGJlZGU5MDI3MTA2YTQxZGY3OTI5NDkyNGI3NDVmZDY3
11
- YTQzY2U1YzU2ODQzNWJmMmQ4YWRhN2MzNmJhYTVhNTRjMGQ5NWM=
9
+ MWUzNDk0Y2Y3OWQzNzQ4ZWY2ZDZkMTNhZTc3ZTk0MTEzMjZkNGU5NDVjNTMw
10
+ NzA5MmY0ZmJiMDM3ZDVmMzJiMmNjZWNjZTZkOWEzNzhhM2ExMzQ1OWNkNWVm
11
+ OTRjOWQxNmJkZTgwNDZiZDY3NjU2NDczMjQ1ZDQzNmJkNmE2Mzc=
12
12
  data.tar.gz: !binary |-
13
- OGFhMjc1NThhYWU2YTgwY2M0NTYxNjIyOTkwMTVkNTQ1ZmFiZTM3Y2QzOGIz
14
- NWY0NDQ0ZjY1ZTI0NDYwYWM4NGEwNDg2NDdlZGZhOGFmNWExNDVjZmY5MzM5
15
- NGYzMzg3ZjczMDc5N2FmZWU4NWZmNzBmZjE4M2FkY2U0NDZlNzA=
13
+ YTI5MWVmMWJhY2ZkZTlmNWJiZmUzYTkwNTJiNzZkOTdlODFkOTY4ZTM2N2Nk
14
+ MWFmZDViMGNmYmIwNTFkM2U3Y2MzNDM0MmZlNGUzMzg5OGEyMjQ5OTM0NWRi
15
+ NWI4YjJlYjNlOTRiZjhhYmY5MmY2YmNjMzZkNjY4Yzk2MmMxYzE=
@@ -1,8 +1,8 @@
1
+ // v 0.4.16
1
2
  // Pace.js
2
- // 0.4.15
3
3
  // https://github.com/HubSpot/pace
4
4
  (function() {
5
- var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Events, NoTargetError, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, init, now, options, requestAnimationFrame, result, runAnimation, scalers, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _intercept, _pushState, _ref, _replaceState,
5
+ var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Events, NoTargetError, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldTrack, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _intercept, _pushState, _ref, _replaceState,
6
6
  __slice = [].slice,
7
7
  __hasProp = {}.hasOwnProperty,
8
8
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
@@ -12,7 +12,7 @@
12
12
  catchupTime: 500,
13
13
  initialRate: .03,
14
14
  minTime: 500,
15
- ghostTime: 250,
15
+ ghostTime: 500,
16
16
  maxProgressPerFrame: 10,
17
17
  easeFactor: 1.25,
18
18
  startOnPageLoad: true,
@@ -58,10 +58,14 @@
58
58
  tick = function() {
59
59
  var diff;
60
60
  diff = now() - last;
61
- last = now();
62
- return fn(diff, function() {
63
- return requestAnimationFrame(tick);
64
- });
61
+ if (diff >= 33) {
62
+ last = now();
63
+ return fn(diff, function() {
64
+ return requestAnimationFrame(tick);
65
+ });
66
+ } else {
67
+ return setTimeout(tick, 33 - diff);
68
+ }
65
69
  };
66
70
  return tick();
67
71
  };
@@ -280,6 +284,44 @@
280
284
  return _results;
281
285
  };
282
286
 
287
+ ignoreStack = [];
288
+
289
+ Pace.ignore = function() {
290
+ var args, fn, ret;
291
+ fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
292
+ ignoreStack.unshift('ignore');
293
+ ret = fn.apply(null, args);
294
+ ignoreStack.shift();
295
+ return ret;
296
+ };
297
+
298
+ Pace.track = function() {
299
+ var args, fn, ret;
300
+ fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
301
+ ignoreStack.unshift('track');
302
+ ret = fn.apply(null, args);
303
+ ignoreStack.shift();
304
+ return ret;
305
+ };
306
+
307
+ shouldTrack = function(method) {
308
+ var _ref1;
309
+ if (method == null) {
310
+ method = 'GET';
311
+ }
312
+ if (ignoreStack[0] === 'track') {
313
+ return 'force';
314
+ }
315
+ if (!ignoreStack.length && options.ajax) {
316
+ if (method === 'socket' && options.ajax.trackWebSockets) {
317
+ return true;
318
+ } else if (_ref1 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref1) >= 0) {
319
+ return true;
320
+ }
321
+ }
322
+ return false;
323
+ };
324
+
283
325
  RequestIntercept = (function(_super) {
284
326
  __extends(RequestIntercept, _super);
285
327
 
@@ -291,8 +333,7 @@
291
333
  var _open;
292
334
  _open = req.open;
293
335
  return req.open = function(type, url, async) {
294
- var _ref1;
295
- if (_ref1 = (type != null ? type : 'GET').toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref1) >= 0) {
336
+ if (shouldTrack(type)) {
296
337
  _this.trigger('request', {
297
338
  type: type,
298
339
  url: url,
@@ -322,12 +363,14 @@
322
363
  window.WebSocket = function(url, protocols) {
323
364
  var req;
324
365
  req = new _WebSocket(url, protocols);
325
- _this.trigger('request', {
326
- type: 'socket',
327
- url: url,
328
- protocols: protocols,
329
- request: req
330
- });
366
+ if (shouldTrack('socket')) {
367
+ _this.trigger('request', {
368
+ type: 'socket',
369
+ url: url,
370
+ protocols: protocols,
371
+ request: req
372
+ });
373
+ }
331
374
  return req;
332
375
  };
333
376
  extendNative(window.WebSocket, _WebSocket);
@@ -347,38 +390,40 @@
347
390
  return _intercept;
348
391
  };
349
392
 
350
- if (options.restartOnRequestAfter !== false) {
351
- getIntercept().on('request', function(_arg) {
352
- var args, request, type;
353
- type = _arg.type, request = _arg.request;
354
- if (!Pace.running) {
355
- args = arguments;
356
- return setTimeout(function() {
357
- var source, stillActive, _i, _len, _ref1, _ref2, _results;
358
- if (type === 'socket') {
359
- stillActive = request.readyState < 2;
360
- } else {
361
- stillActive = (0 < (_ref1 = request.readyState) && _ref1 < 4);
362
- }
363
- if (stillActive) {
364
- Pace.restart();
365
- _ref2 = Pace.sources;
366
- _results = [];
367
- for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
368
- source = _ref2[_i];
369
- if (source instanceof AjaxMonitor) {
370
- source.watch.apply(source, args);
371
- break;
372
- } else {
373
- _results.push(void 0);
374
- }
393
+ getIntercept().on('request', function(_arg) {
394
+ var after, args, request, type;
395
+ type = _arg.type, request = _arg.request;
396
+ if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) {
397
+ args = arguments;
398
+ after = options.restartOnRequestAfter || 0;
399
+ if (typeof after === 'boolean') {
400
+ after = 0;
401
+ }
402
+ return setTimeout(function() {
403
+ var source, stillActive, _i, _len, _ref1, _ref2, _results;
404
+ if (type === 'socket') {
405
+ stillActive = request.readyState < 2;
406
+ } else {
407
+ stillActive = (0 < (_ref1 = request.readyState) && _ref1 < 4);
408
+ }
409
+ if (stillActive) {
410
+ Pace.restart();
411
+ _ref2 = Pace.sources;
412
+ _results = [];
413
+ for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
414
+ source = _ref2[_i];
415
+ if (source instanceof AjaxMonitor) {
416
+ source.watch.apply(source, args);
417
+ break;
418
+ } else {
419
+ _results.push(void 0);
375
420
  }
376
- return _results;
377
421
  }
378
- }, options.restartOnRequestAfter);
379
- }
380
- });
381
- }
422
+ return _results;
423
+ }
424
+ }, after);
425
+ }
426
+ });
382
427
 
383
428
  AjaxMonitor = (function() {
384
429
  function AjaxMonitor() {
@@ -1,3 +1,3 @@
1
1
  module PacejsRails
2
- VERSION = "0.4.15"
2
+ VERSION = "0.4.16"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacejs_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.15
4
+ version: 0.4.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guy Israeli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-24 00:00:00.000000000 Z
11
+ date: 2014-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler