pacejs_rails 0.4.15 → 0.4.16

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.
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