socket.io-rails 1.3.6 → 1.3.7

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f22957093aa6bf4ba2da2b2c78c49e05a57747b
4
- data.tar.gz: a4e5f60b340825b517b75d6b9c63bd271c992f39
3
+ metadata.gz: f6496ec223a7bdf29259c61f6ce1d2b234b5fec6
4
+ data.tar.gz: 06099bd6582d8061c2360cf4f1054fe7b914025a
5
5
  SHA512:
6
- metadata.gz: ed67cfe4990fbe27559dc12393a954088948e92bcadeebd3492b5a7f2127e86b4895e85bd9f9adcbef49eea16812afd292f5c6fd9da16954d17137971b888441
7
- data.tar.gz: fc5c58d5fee3a176203924957e990077a4da0707df768c88f255bca7b3a3a59e87bfd65f54028a38e6aa2015c8b492b3c959bedb89bb9384c5085c66adb0c957
6
+ metadata.gz: 68abdebf1c1b0ac5aa9dedb5fef28de98cce5f285d534a7b8f6fc50cf7fa736cbbc3bf9941ec3803d1aa3355570a269c4f98a5c7afc716147ea9a1784bd0eab2
7
+ data.tar.gz: 8fad63659d3f61a19fd6edd1f3ad6be29d3587526b73e350a1c588dbb3aac5397d5a0bae76ef86d55c66f97e635eca233ba5e870c6a0e397732e087bdc87c9f1
@@ -1,5 +1,5 @@
1
1
  module Socketio
2
2
  module Rails
3
- VERSION = "1.3.6"
3
+ VERSION = "1.3.7"
4
4
  end
5
5
  end
@@ -91,7 +91,7 @@ exports.connect = lookup;
91
91
  exports.Manager = _dereq_('./manager');
92
92
  exports.Socket = _dereq_('./socket');
93
93
 
94
- },{"./manager":3,"./socket":5,"./url":6,"debug":10,"socket.io-parser":46}],3:[function(_dereq_,module,exports){
94
+ },{"./manager":3,"./socket":5,"./url":6,"debug":10,"socket.io-parser":44}],3:[function(_dereq_,module,exports){
95
95
 
96
96
  /**
97
97
  * Module dependencies.
@@ -596,7 +596,7 @@ Manager.prototype.onreconnect = function(){
596
596
  this.emitAll('reconnect', attempt);
597
597
  };
598
598
 
599
- },{"./on":4,"./socket":5,"./url":6,"backo2":7,"component-bind":8,"component-emitter":9,"debug":10,"engine.io-client":11,"indexof":42,"object-component":43,"socket.io-parser":46}],4:[function(_dereq_,module,exports){
599
+ },{"./on":4,"./socket":5,"./url":6,"backo2":7,"component-bind":8,"component-emitter":9,"debug":10,"engine.io-client":11,"indexof":40,"object-component":41,"socket.io-parser":44}],4:[function(_dereq_,module,exports){
600
600
 
601
601
  /**
602
602
  * Module exports.
@@ -1009,7 +1009,7 @@ Socket.prototype.disconnect = function(){
1009
1009
  return this;
1010
1010
  };
1011
1011
 
1012
- },{"./on":4,"component-bind":8,"component-emitter":9,"debug":10,"has-binary":38,"socket.io-parser":46,"to-array":50}],6:[function(_dereq_,module,exports){
1012
+ },{"./on":4,"component-bind":8,"component-emitter":9,"debug":10,"has-binary":36,"socket.io-parser":44,"to-array":48}],6:[function(_dereq_,module,exports){
1013
1013
  (function (global){
1014
1014
 
1015
1015
  /**
@@ -1086,7 +1086,7 @@ function url(uri, loc){
1086
1086
  }
1087
1087
 
1088
1088
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
1089
- },{"debug":10,"parseuri":44}],7:[function(_dereq_,module,exports){
1089
+ },{"debug":10,"parseuri":42}],7:[function(_dereq_,module,exports){
1090
1090
 
1091
1091
  /**
1092
1092
  * Expose `Backoff`.
@@ -2228,7 +2228,7 @@ Socket.prototype.filterUpgrades = function (upgrades) {
2228
2228
  };
2229
2229
 
2230
2230
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
2231
- },{"./transport":14,"./transports":15,"component-emitter":9,"debug":22,"engine.io-parser":25,"indexof":42,"parsejson":34,"parseqs":35,"parseuri":36}],14:[function(_dereq_,module,exports){
2231
+ },{"./transport":14,"./transports":15,"component-emitter":9,"debug":22,"engine.io-parser":25,"indexof":40,"parsejson":32,"parseqs":33,"parseuri":34}],14:[function(_dereq_,module,exports){
2232
2232
  /**
2233
2233
  * Module dependencies.
2234
2234
  */
@@ -2586,7 +2586,7 @@ JSONPPolling.prototype.doPoll = function () {
2586
2586
  this.script = script;
2587
2587
 
2588
2588
  var isUAgecko = 'undefined' != typeof navigator && /gecko/i.test(navigator.userAgent);
2589
-
2589
+
2590
2590
  if (isUAgecko) {
2591
2591
  setTimeout(function () {
2592
2592
  var iframe = document.createElement('iframe');
@@ -3318,7 +3318,7 @@ Polling.prototype.uri = function(){
3318
3318
  return schema + '://' + this.hostname + port + this.path + query;
3319
3319
  };
3320
3320
 
3321
- },{"../transport":14,"component-inherit":21,"debug":22,"engine.io-parser":25,"parseqs":35,"xmlhttprequest":20}],19:[function(_dereq_,module,exports){
3321
+ },{"../transport":14,"component-inherit":21,"debug":22,"engine.io-parser":25,"parseqs":33,"xmlhttprequest":20}],19:[function(_dereq_,module,exports){
3322
3322
  /**
3323
3323
  * Module dependencies.
3324
3324
  */
@@ -3558,7 +3558,7 @@ WS.prototype.check = function(){
3558
3558
  return !!WebSocket && !('__initialize' in WebSocket && this.name === WS.prototype.name);
3559
3559
  };
3560
3560
 
3561
- },{"../transport":14,"component-inherit":21,"debug":22,"engine.io-parser":25,"parseqs":35,"ws":37}],20:[function(_dereq_,module,exports){
3561
+ },{"../transport":14,"component-inherit":21,"debug":22,"engine.io-parser":25,"parseqs":33,"ws":35}],20:[function(_dereq_,module,exports){
3562
3562
  // browser shim for xmlhttprequest module
3563
3563
  var hasCORS = _dereq_('has-cors');
3564
3564
 
@@ -3596,7 +3596,7 @@ module.exports = function(opts) {
3596
3596
  }
3597
3597
  }
3598
3598
 
3599
- },{"has-cors":40}],21:[function(_dereq_,module,exports){
3599
+ },{"has-cors":38}],21:[function(_dereq_,module,exports){
3600
3600
 
3601
3601
  module.exports = function(a, b){
3602
3602
  var fn = function(){};
@@ -3687,7 +3687,7 @@ function formatArgs() {
3687
3687
  var index = 0;
3688
3688
  var lastC = 0;
3689
3689
  args[0].replace(/%[a-z%]/g, function(match) {
3690
- if ('%' === match) return;
3690
+ if ('%%' === match) return;
3691
3691
  index++;
3692
3692
  if ('%c' === match) {
3693
3693
  // we only are interested in the *last* %c
@@ -3852,7 +3852,7 @@ function debug(namespace) {
3852
3852
  var index = 0;
3853
3853
  args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
3854
3854
  // if we encounter an escaped % then don't increase the array index
3855
- if (match === '%') return match;
3855
+ if (match === '%%') return match;
3856
3856
  index++;
3857
3857
  var formatter = exports.formatters[format];
3858
3858
  if ('function' === typeof formatter) {
@@ -4663,7 +4663,7 @@ exports.decodePayloadAsBinary = function (data, binaryType, callback) {
4663
4663
  };
4664
4664
 
4665
4665
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
4666
- },{"./keys":26,"after":27,"arraybuffer.slice":28,"base64-arraybuffer":29,"blob":30,"has-binary":31,"utf8":33}],26:[function(_dereq_,module,exports){
4666
+ },{"./keys":26,"after":27,"arraybuffer.slice":28,"base64-arraybuffer":29,"blob":30,"has-binary":36,"utf8":31}],26:[function(_dereq_,module,exports){
4667
4667
 
4668
4668
  /**
4669
4669
  * Gets the keys for an object.
@@ -4823,8 +4823,22 @@ var BlobBuilder = global.BlobBuilder
4823
4823
 
4824
4824
  var blobSupported = (function() {
4825
4825
  try {
4826
- var b = new Blob(['hi']);
4827
- return b.size == 2;
4826
+ var a = new Blob(['hi']);
4827
+ return a.size === 2;
4828
+ } catch(e) {
4829
+ return false;
4830
+ }
4831
+ })();
4832
+
4833
+ /**
4834
+ * Check if Blob constructor supports ArrayBufferViews
4835
+ * Fails in Safari 6, so we need to map to ArrayBuffers there.
4836
+ */
4837
+
4838
+ var blobSupportsArrayBufferView = blobSupported && (function() {
4839
+ try {
4840
+ var b = new Blob([new Uint8Array([1,2])]);
4841
+ return b.size === 2;
4828
4842
  } catch(e) {
4829
4843
  return false;
4830
4844
  }
@@ -4838,19 +4852,52 @@ var blobBuilderSupported = BlobBuilder
4838
4852
  && BlobBuilder.prototype.append
4839
4853
  && BlobBuilder.prototype.getBlob;
4840
4854
 
4855
+ /**
4856
+ * Helper function that maps ArrayBufferViews to ArrayBuffers
4857
+ * Used by BlobBuilder constructor and old browsers that didn't
4858
+ * support it in the Blob constructor.
4859
+ */
4860
+
4861
+ function mapArrayBufferViews(ary) {
4862
+ for (var i = 0; i < ary.length; i++) {
4863
+ var chunk = ary[i];
4864
+ if (chunk.buffer instanceof ArrayBuffer) {
4865
+ var buf = chunk.buffer;
4866
+
4867
+ // if this is a subarray, make a copy so we only
4868
+ // include the subarray region from the underlying buffer
4869
+ if (chunk.byteLength !== buf.byteLength) {
4870
+ var copy = new Uint8Array(chunk.byteLength);
4871
+ copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));
4872
+ buf = copy.buffer;
4873
+ }
4874
+
4875
+ ary[i] = buf;
4876
+ }
4877
+ }
4878
+ }
4879
+
4841
4880
  function BlobBuilderConstructor(ary, options) {
4842
4881
  options = options || {};
4843
4882
 
4844
4883
  var bb = new BlobBuilder();
4884
+ mapArrayBufferViews(ary);
4885
+
4845
4886
  for (var i = 0; i < ary.length; i++) {
4846
4887
  bb.append(ary[i]);
4847
4888
  }
4889
+
4848
4890
  return (options.type) ? bb.getBlob(options.type) : bb.getBlob();
4849
4891
  };
4850
4892
 
4893
+ function BlobConstructor(ary, options) {
4894
+ mapArrayBufferViews(ary);
4895
+ return new Blob(ary, options || {});
4896
+ };
4897
+
4851
4898
  module.exports = (function() {
4852
4899
  if (blobSupported) {
4853
- return global.Blob;
4900
+ return blobSupportsArrayBufferView ? global.Blob : BlobConstructor;
4854
4901
  } else if (blobBuilderSupported) {
4855
4902
  return BlobBuilderConstructor;
4856
4903
  } else {
@@ -4861,315 +4908,253 @@ module.exports = (function() {
4861
4908
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
4862
4909
  },{}],31:[function(_dereq_,module,exports){
4863
4910
  (function (global){
4864
-
4865
- /*
4866
- * Module requirements.
4867
- */
4868
-
4869
- var isArray = _dereq_('isarray');
4870
-
4871
- /**
4872
- * Module exports.
4873
- */
4874
-
4875
- module.exports = hasBinary;
4876
-
4877
- /**
4878
- * Checks for binary data.
4879
- *
4880
- * Right now only Buffer and ArrayBuffer are supported..
4881
- *
4882
- * @param {Object} anything
4883
- * @api public
4884
- */
4885
-
4886
- function hasBinary(data) {
4887
-
4888
- function _hasBinary(obj) {
4889
- if (!obj) return false;
4890
-
4891
- if ( (global.Buffer && global.Buffer.isBuffer(obj)) ||
4892
- (global.ArrayBuffer && obj instanceof ArrayBuffer) ||
4893
- (global.Blob && obj instanceof Blob) ||
4894
- (global.File && obj instanceof File)
4895
- ) {
4896
- return true;
4897
- }
4898
-
4899
- if (isArray(obj)) {
4900
- for (var i = 0; i < obj.length; i++) {
4901
- if (_hasBinary(obj[i])) {
4902
- return true;
4903
- }
4904
- }
4905
- } else if (obj && 'object' == typeof obj) {
4906
- if (obj.toJSON) {
4907
- obj = obj.toJSON();
4908
- }
4909
-
4910
- for (var key in obj) {
4911
- if (obj.hasOwnProperty(key) && _hasBinary(obj[key])) {
4912
- return true;
4913
- }
4914
- }
4915
- }
4916
-
4917
- return false;
4918
- }
4919
-
4920
- return _hasBinary(data);
4921
- }
4922
-
4923
- }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
4924
- },{"isarray":32}],32:[function(_dereq_,module,exports){
4925
- module.exports = Array.isArray || function (arr) {
4926
- return Object.prototype.toString.call(arr) == '[object Array]';
4927
- };
4928
-
4929
- },{}],33:[function(_dereq_,module,exports){
4930
- (function (global){
4931
- /*! http://mths.be/utf8js v2.0.0 by @mathias */
4911
+ /*! https://mths.be/utf8js v2.0.0 by @mathias */
4932
4912
  ;(function(root) {
4933
4913
 
4934
- // Detect free variables `exports`
4935
- var freeExports = typeof exports == 'object' && exports;
4936
-
4937
- // Detect free variable `module`
4938
- var freeModule = typeof module == 'object' && module &&
4939
- module.exports == freeExports && module;
4940
-
4941
- // Detect free variable `global`, from Node.js or Browserified code,
4942
- // and use it as `root`
4943
- var freeGlobal = typeof global == 'object' && global;
4944
- if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
4945
- root = freeGlobal;
4946
- }
4947
-
4948
- /*--------------------------------------------------------------------------*/
4949
-
4950
- var stringFromCharCode = String.fromCharCode;
4951
-
4952
- // Taken from http://mths.be/punycode
4953
- function ucs2decode(string) {
4954
- var output = [];
4955
- var counter = 0;
4956
- var length = string.length;
4957
- var value;
4958
- var extra;
4959
- while (counter < length) {
4960
- value = string.charCodeAt(counter++);
4961
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
4962
- // high surrogate, and there is a next character
4963
- extra = string.charCodeAt(counter++);
4964
- if ((extra & 0xFC00) == 0xDC00) { // low surrogate
4965
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
4966
- } else {
4967
- // unmatched surrogate; only append this code unit, in case the next
4968
- // code unit is the high surrogate of a surrogate pair
4969
- output.push(value);
4970
- counter--;
4971
- }
4972
- } else {
4973
- output.push(value);
4974
- }
4975
- }
4976
- return output;
4977
- }
4978
-
4979
- // Taken from http://mths.be/punycode
4980
- function ucs2encode(array) {
4981
- var length = array.length;
4982
- var index = -1;
4983
- var value;
4984
- var output = '';
4985
- while (++index < length) {
4986
- value = array[index];
4987
- if (value > 0xFFFF) {
4988
- value -= 0x10000;
4989
- output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
4990
- value = 0xDC00 | value & 0x3FF;
4991
- }
4992
- output += stringFromCharCode(value);
4993
- }
4994
- return output;
4995
- }
4996
-
4997
- /*--------------------------------------------------------------------------*/
4998
-
4999
- function createByte(codePoint, shift) {
5000
- return stringFromCharCode(((codePoint >> shift) & 0x3F) | 0x80);
5001
- }
5002
-
5003
- function encodeCodePoint(codePoint) {
5004
- if ((codePoint & 0xFFFFFF80) == 0) { // 1-byte sequence
5005
- return stringFromCharCode(codePoint);
5006
- }
5007
- var symbol = '';
5008
- if ((codePoint & 0xFFFFF800) == 0) { // 2-byte sequence
5009
- symbol = stringFromCharCode(((codePoint >> 6) & 0x1F) | 0xC0);
5010
- }
5011
- else if ((codePoint & 0xFFFF0000) == 0) { // 3-byte sequence
5012
- symbol = stringFromCharCode(((codePoint >> 12) & 0x0F) | 0xE0);
5013
- symbol += createByte(codePoint, 6);
5014
- }
5015
- else if ((codePoint & 0xFFE00000) == 0) { // 4-byte sequence
5016
- symbol = stringFromCharCode(((codePoint >> 18) & 0x07) | 0xF0);
5017
- symbol += createByte(codePoint, 12);
5018
- symbol += createByte(codePoint, 6);
5019
- }
5020
- symbol += stringFromCharCode((codePoint & 0x3F) | 0x80);
5021
- return symbol;
5022
- }
5023
-
5024
- function utf8encode(string) {
5025
- var codePoints = ucs2decode(string);
5026
-
5027
- // console.log(JSON.stringify(codePoints.map(function(x) {
5028
- // return 'U+' + x.toString(16).toUpperCase();
5029
- // })));
5030
-
5031
- var length = codePoints.length;
5032
- var index = -1;
5033
- var codePoint;
5034
- var byteString = '';
5035
- while (++index < length) {
5036
- codePoint = codePoints[index];
5037
- byteString += encodeCodePoint(codePoint);
5038
- }
5039
- return byteString;
5040
- }
5041
-
5042
- /*--------------------------------------------------------------------------*/
5043
-
5044
- function readContinuationByte() {
5045
- if (byteIndex >= byteCount) {
5046
- throw Error('Invalid byte index');
5047
- }
5048
-
5049
- var continuationByte = byteArray[byteIndex] & 0xFF;
5050
- byteIndex++;
5051
-
5052
- if ((continuationByte & 0xC0) == 0x80) {
5053
- return continuationByte & 0x3F;
5054
- }
5055
-
5056
- // If we end up here, it’s not a continuation byte
5057
- throw Error('Invalid continuation byte');
5058
- }
5059
-
5060
- function decodeSymbol() {
5061
- var byte1;
5062
- var byte2;
5063
- var byte3;
5064
- var byte4;
5065
- var codePoint;
5066
-
5067
- if (byteIndex > byteCount) {
5068
- throw Error('Invalid byte index');
5069
- }
5070
-
5071
- if (byteIndex == byteCount) {
5072
- return false;
5073
- }
5074
-
5075
- // Read first byte
5076
- byte1 = byteArray[byteIndex] & 0xFF;
5077
- byteIndex++;
5078
-
5079
- // 1-byte sequence (no continuation bytes)
5080
- if ((byte1 & 0x80) == 0) {
5081
- return byte1;
5082
- }
5083
-
5084
- // 2-byte sequence
5085
- if ((byte1 & 0xE0) == 0xC0) {
5086
- var byte2 = readContinuationByte();
5087
- codePoint = ((byte1 & 0x1F) << 6) | byte2;
5088
- if (codePoint >= 0x80) {
5089
- return codePoint;
5090
- } else {
5091
- throw Error('Invalid continuation byte');
5092
- }
5093
- }
5094
-
5095
- // 3-byte sequence (may include unpaired surrogates)
5096
- if ((byte1 & 0xF0) == 0xE0) {
5097
- byte2 = readContinuationByte();
5098
- byte3 = readContinuationByte();
5099
- codePoint = ((byte1 & 0x0F) << 12) | (byte2 << 6) | byte3;
5100
- if (codePoint >= 0x0800) {
5101
- return codePoint;
5102
- } else {
5103
- throw Error('Invalid continuation byte');
5104
- }
5105
- }
5106
-
5107
- // 4-byte sequence
5108
- if ((byte1 & 0xF8) == 0xF0) {
5109
- byte2 = readContinuationByte();
5110
- byte3 = readContinuationByte();
5111
- byte4 = readContinuationByte();
5112
- codePoint = ((byte1 & 0x0F) << 0x12) | (byte2 << 0x0C) |
5113
- (byte3 << 0x06) | byte4;
5114
- if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {
5115
- return codePoint;
5116
- }
5117
- }
5118
-
5119
- throw Error('Invalid UTF-8 detected');
5120
- }
5121
-
5122
- var byteArray;
5123
- var byteCount;
5124
- var byteIndex;
5125
- function utf8decode(byteString) {
5126
- byteArray = ucs2decode(byteString);
5127
- byteCount = byteArray.length;
5128
- byteIndex = 0;
5129
- var codePoints = [];
5130
- var tmp;
5131
- while ((tmp = decodeSymbol()) !== false) {
5132
- codePoints.push(tmp);
5133
- }
5134
- return ucs2encode(codePoints);
5135
- }
5136
-
5137
- /*--------------------------------------------------------------------------*/
5138
-
5139
- var utf8 = {
5140
- 'version': '2.0.0',
5141
- 'encode': utf8encode,
5142
- 'decode': utf8decode
5143
- };
5144
-
5145
- // Some AMD build optimizers, like r.js, check for specific condition patterns
5146
- // like the following:
5147
- if (
5148
- typeof define == 'function' &&
5149
- typeof define.amd == 'object' &&
5150
- define.amd
5151
- ) {
5152
- define(function() {
5153
- return utf8;
5154
- });
5155
- } else if (freeExports && !freeExports.nodeType) {
5156
- if (freeModule) { // in Node.js or RingoJS v0.8.0+
5157
- freeModule.exports = utf8;
5158
- } else { // in Narwhal or RingoJS v0.7.0-
5159
- var object = {};
5160
- var hasOwnProperty = object.hasOwnProperty;
5161
- for (var key in utf8) {
5162
- hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]);
5163
- }
5164
- }
5165
- } else { // in Rhino or a web browser
5166
- root.utf8 = utf8;
5167
- }
4914
+ // Detect free variables `exports`
4915
+ var freeExports = typeof exports == 'object' && exports;
4916
+
4917
+ // Detect free variable `module`
4918
+ var freeModule = typeof module == 'object' && module &&
4919
+ module.exports == freeExports && module;
4920
+
4921
+ // Detect free variable `global`, from Node.js or Browserified code,
4922
+ // and use it as `root`
4923
+ var freeGlobal = typeof global == 'object' && global;
4924
+ if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
4925
+ root = freeGlobal;
4926
+ }
4927
+
4928
+ /*--------------------------------------------------------------------------*/
4929
+
4930
+ var stringFromCharCode = String.fromCharCode;
4931
+
4932
+ // Taken from https://mths.be/punycode
4933
+ function ucs2decode(string) {
4934
+ var output = [];
4935
+ var counter = 0;
4936
+ var length = string.length;
4937
+ var value;
4938
+ var extra;
4939
+ while (counter < length) {
4940
+ value = string.charCodeAt(counter++);
4941
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
4942
+ // high surrogate, and there is a next character
4943
+ extra = string.charCodeAt(counter++);
4944
+ if ((extra & 0xFC00) == 0xDC00) { // low surrogate
4945
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
4946
+ } else {
4947
+ // unmatched surrogate; only append this code unit, in case the next
4948
+ // code unit is the high surrogate of a surrogate pair
4949
+ output.push(value);
4950
+ counter--;
4951
+ }
4952
+ } else {
4953
+ output.push(value);
4954
+ }
4955
+ }
4956
+ return output;
4957
+ }
4958
+
4959
+ // Taken from https://mths.be/punycode
4960
+ function ucs2encode(array) {
4961
+ var length = array.length;
4962
+ var index = -1;
4963
+ var value;
4964
+ var output = '';
4965
+ while (++index < length) {
4966
+ value = array[index];
4967
+ if (value > 0xFFFF) {
4968
+ value -= 0x10000;
4969
+ output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
4970
+ value = 0xDC00 | value & 0x3FF;
4971
+ }
4972
+ output += stringFromCharCode(value);
4973
+ }
4974
+ return output;
4975
+ }
4976
+
4977
+ function checkScalarValue(codePoint) {
4978
+ if (codePoint >= 0xD800 && codePoint <= 0xDFFF) {
4979
+ throw Error(
4980
+ 'Lone surrogate U+' + codePoint.toString(16).toUpperCase() +
4981
+ ' is not a scalar value'
4982
+ );
4983
+ }
4984
+ }
4985
+ /*--------------------------------------------------------------------------*/
4986
+
4987
+ function createByte(codePoint, shift) {
4988
+ return stringFromCharCode(((codePoint >> shift) & 0x3F) | 0x80);
4989
+ }
4990
+
4991
+ function encodeCodePoint(codePoint) {
4992
+ if ((codePoint & 0xFFFFFF80) == 0) { // 1-byte sequence
4993
+ return stringFromCharCode(codePoint);
4994
+ }
4995
+ var symbol = '';
4996
+ if ((codePoint & 0xFFFFF800) == 0) { // 2-byte sequence
4997
+ symbol = stringFromCharCode(((codePoint >> 6) & 0x1F) | 0xC0);
4998
+ }
4999
+ else if ((codePoint & 0xFFFF0000) == 0) { // 3-byte sequence
5000
+ checkScalarValue(codePoint);
5001
+ symbol = stringFromCharCode(((codePoint >> 12) & 0x0F) | 0xE0);
5002
+ symbol += createByte(codePoint, 6);
5003
+ }
5004
+ else if ((codePoint & 0xFFE00000) == 0) { // 4-byte sequence
5005
+ symbol = stringFromCharCode(((codePoint >> 18) & 0x07) | 0xF0);
5006
+ symbol += createByte(codePoint, 12);
5007
+ symbol += createByte(codePoint, 6);
5008
+ }
5009
+ symbol += stringFromCharCode((codePoint & 0x3F) | 0x80);
5010
+ return symbol;
5011
+ }
5012
+
5013
+ function utf8encode(string) {
5014
+ var codePoints = ucs2decode(string);
5015
+ var length = codePoints.length;
5016
+ var index = -1;
5017
+ var codePoint;
5018
+ var byteString = '';
5019
+ while (++index < length) {
5020
+ codePoint = codePoints[index];
5021
+ byteString += encodeCodePoint(codePoint);
5022
+ }
5023
+ return byteString;
5024
+ }
5025
+
5026
+ /*--------------------------------------------------------------------------*/
5027
+
5028
+ function readContinuationByte() {
5029
+ if (byteIndex >= byteCount) {
5030
+ throw Error('Invalid byte index');
5031
+ }
5032
+
5033
+ var continuationByte = byteArray[byteIndex] & 0xFF;
5034
+ byteIndex++;
5035
+
5036
+ if ((continuationByte & 0xC0) == 0x80) {
5037
+ return continuationByte & 0x3F;
5038
+ }
5039
+
5040
+ // If we end up here, it’s not a continuation byte
5041
+ throw Error('Invalid continuation byte');
5042
+ }
5043
+
5044
+ function decodeSymbol() {
5045
+ var byte1;
5046
+ var byte2;
5047
+ var byte3;
5048
+ var byte4;
5049
+ var codePoint;
5050
+
5051
+ if (byteIndex > byteCount) {
5052
+ throw Error('Invalid byte index');
5053
+ }
5054
+
5055
+ if (byteIndex == byteCount) {
5056
+ return false;
5057
+ }
5058
+
5059
+ // Read first byte
5060
+ byte1 = byteArray[byteIndex] & 0xFF;
5061
+ byteIndex++;
5062
+
5063
+ // 1-byte sequence (no continuation bytes)
5064
+ if ((byte1 & 0x80) == 0) {
5065
+ return byte1;
5066
+ }
5067
+
5068
+ // 2-byte sequence
5069
+ if ((byte1 & 0xE0) == 0xC0) {
5070
+ var byte2 = readContinuationByte();
5071
+ codePoint = ((byte1 & 0x1F) << 6) | byte2;
5072
+ if (codePoint >= 0x80) {
5073
+ return codePoint;
5074
+ } else {
5075
+ throw Error('Invalid continuation byte');
5076
+ }
5077
+ }
5078
+
5079
+ // 3-byte sequence (may include unpaired surrogates)
5080
+ if ((byte1 & 0xF0) == 0xE0) {
5081
+ byte2 = readContinuationByte();
5082
+ byte3 = readContinuationByte();
5083
+ codePoint = ((byte1 & 0x0F) << 12) | (byte2 << 6) | byte3;
5084
+ if (codePoint >= 0x0800) {
5085
+ checkScalarValue(codePoint);
5086
+ return codePoint;
5087
+ } else {
5088
+ throw Error('Invalid continuation byte');
5089
+ }
5090
+ }
5091
+
5092
+ // 4-byte sequence
5093
+ if ((byte1 & 0xF8) == 0xF0) {
5094
+ byte2 = readContinuationByte();
5095
+ byte3 = readContinuationByte();
5096
+ byte4 = readContinuationByte();
5097
+ codePoint = ((byte1 & 0x0F) << 0x12) | (byte2 << 0x0C) |
5098
+ (byte3 << 0x06) | byte4;
5099
+ if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {
5100
+ return codePoint;
5101
+ }
5102
+ }
5103
+
5104
+ throw Error('Invalid UTF-8 detected');
5105
+ }
5106
+
5107
+ var byteArray;
5108
+ var byteCount;
5109
+ var byteIndex;
5110
+ function utf8decode(byteString) {
5111
+ byteArray = ucs2decode(byteString);
5112
+ byteCount = byteArray.length;
5113
+ byteIndex = 0;
5114
+ var codePoints = [];
5115
+ var tmp;
5116
+ while ((tmp = decodeSymbol()) !== false) {
5117
+ codePoints.push(tmp);
5118
+ }
5119
+ return ucs2encode(codePoints);
5120
+ }
5121
+
5122
+ /*--------------------------------------------------------------------------*/
5123
+
5124
+ var utf8 = {
5125
+ 'version': '2.0.0',
5126
+ 'encode': utf8encode,
5127
+ 'decode': utf8decode
5128
+ };
5129
+
5130
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
5131
+ // like the following:
5132
+ if (
5133
+ typeof define == 'function' &&
5134
+ typeof define.amd == 'object' &&
5135
+ define.amd
5136
+ ) {
5137
+ define(function() {
5138
+ return utf8;
5139
+ });
5140
+ } else if (freeExports && !freeExports.nodeType) {
5141
+ if (freeModule) { // in Node.js or RingoJS v0.8.0+
5142
+ freeModule.exports = utf8;
5143
+ } else { // in Narwhal or RingoJS v0.7.0-
5144
+ var object = {};
5145
+ var hasOwnProperty = object.hasOwnProperty;
5146
+ for (var key in utf8) {
5147
+ hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]);
5148
+ }
5149
+ }
5150
+ } else { // in Rhino or a web browser
5151
+ root.utf8 = utf8;
5152
+ }
5168
5153
 
5169
5154
  }(this));
5170
5155
 
5171
5156
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5172
- },{}],34:[function(_dereq_,module,exports){
5157
+ },{}],32:[function(_dereq_,module,exports){
5173
5158
  (function (global){
5174
5159
  /**
5175
5160
  * JSON parse.
@@ -5204,7 +5189,7 @@ module.exports = function parsejson(data) {
5204
5189
  }
5205
5190
  };
5206
5191
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5207
- },{}],35:[function(_dereq_,module,exports){
5192
+ },{}],33:[function(_dereq_,module,exports){
5208
5193
  /**
5209
5194
  * Compiles a querystring
5210
5195
  * Returns string representation of the object
@@ -5243,7 +5228,7 @@ exports.decode = function(qs){
5243
5228
  return qry;
5244
5229
  };
5245
5230
 
5246
- },{}],36:[function(_dereq_,module,exports){
5231
+ },{}],34:[function(_dereq_,module,exports){
5247
5232
  /**
5248
5233
  * Parses an URI
5249
5234
  *
@@ -5284,7 +5269,7 @@ module.exports = function parseuri(str) {
5284
5269
  return uri;
5285
5270
  };
5286
5271
 
5287
- },{}],37:[function(_dereq_,module,exports){
5272
+ },{}],35:[function(_dereq_,module,exports){
5288
5273
 
5289
5274
  /**
5290
5275
  * Module dependencies.
@@ -5329,7 +5314,7 @@ function ws(uri, protocols, opts) {
5329
5314
 
5330
5315
  if (WebSocket) ws.prototype = WebSocket.prototype;
5331
5316
 
5332
- },{}],38:[function(_dereq_,module,exports){
5317
+ },{}],36:[function(_dereq_,module,exports){
5333
5318
  (function (global){
5334
5319
 
5335
5320
  /*
@@ -5391,9 +5376,12 @@ function hasBinary(data) {
5391
5376
  }
5392
5377
 
5393
5378
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5394
- },{"isarray":39}],39:[function(_dereq_,module,exports){
5395
- module.exports=_dereq_(32)
5396
- },{}],40:[function(_dereq_,module,exports){
5379
+ },{"isarray":37}],37:[function(_dereq_,module,exports){
5380
+ module.exports = Array.isArray || function (arr) {
5381
+ return Object.prototype.toString.call(arr) == '[object Array]';
5382
+ };
5383
+
5384
+ },{}],38:[function(_dereq_,module,exports){
5397
5385
 
5398
5386
  /**
5399
5387
  * Module dependencies.
@@ -5418,7 +5406,7 @@ try {
5418
5406
  module.exports = false;
5419
5407
  }
5420
5408
 
5421
- },{"global":41}],41:[function(_dereq_,module,exports){
5409
+ },{"global":39}],39:[function(_dereq_,module,exports){
5422
5410
 
5423
5411
  /**
5424
5412
  * Returns `this`. Execute this without a "context" (i.e. without it being
@@ -5428,7 +5416,7 @@ try {
5428
5416
 
5429
5417
  module.exports = (function () { return this; })();
5430
5418
 
5431
- },{}],42:[function(_dereq_,module,exports){
5419
+ },{}],40:[function(_dereq_,module,exports){
5432
5420
 
5433
5421
  var indexOf = [].indexOf;
5434
5422
 
@@ -5439,7 +5427,7 @@ module.exports = function(arr, obj){
5439
5427
  }
5440
5428
  return -1;
5441
5429
  };
5442
- },{}],43:[function(_dereq_,module,exports){
5430
+ },{}],41:[function(_dereq_,module,exports){
5443
5431
 
5444
5432
  /**
5445
5433
  * HOP ref.
@@ -5524,7 +5512,7 @@ exports.length = function(obj){
5524
5512
  exports.isEmpty = function(obj){
5525
5513
  return 0 == exports.length(obj);
5526
5514
  };
5527
- },{}],44:[function(_dereq_,module,exports){
5515
+ },{}],42:[function(_dereq_,module,exports){
5528
5516
  /**
5529
5517
  * Parses an URI
5530
5518
  *
@@ -5551,7 +5539,7 @@ module.exports = function parseuri(str) {
5551
5539
  return uri;
5552
5540
  };
5553
5541
 
5554
- },{}],45:[function(_dereq_,module,exports){
5542
+ },{}],43:[function(_dereq_,module,exports){
5555
5543
  (function (global){
5556
5544
  /*global Blob,File*/
5557
5545
 
@@ -5696,7 +5684,7 @@ exports.removeBlobs = function(data, callback) {
5696
5684
  };
5697
5685
 
5698
5686
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5699
- },{"./is-buffer":47,"isarray":48}],46:[function(_dereq_,module,exports){
5687
+ },{"./is-buffer":45,"isarray":46}],44:[function(_dereq_,module,exports){
5700
5688
 
5701
5689
  /**
5702
5690
  * Module dependencies.
@@ -6098,7 +6086,7 @@ function error(data){
6098
6086
  };
6099
6087
  }
6100
6088
 
6101
- },{"./binary":45,"./is-buffer":47,"component-emitter":9,"debug":10,"isarray":48,"json3":49}],47:[function(_dereq_,module,exports){
6089
+ },{"./binary":43,"./is-buffer":45,"component-emitter":9,"debug":10,"isarray":46,"json3":47}],45:[function(_dereq_,module,exports){
6102
6090
  (function (global){
6103
6091
 
6104
6092
  module.exports = isBuf;
@@ -6115,9 +6103,9 @@ function isBuf(obj) {
6115
6103
  }
6116
6104
 
6117
6105
  }).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
6118
- },{}],48:[function(_dereq_,module,exports){
6119
- module.exports=_dereq_(32)
6120
- },{}],49:[function(_dereq_,module,exports){
6106
+ },{}],46:[function(_dereq_,module,exports){
6107
+ module.exports=_dereq_(37)
6108
+ },{}],47:[function(_dereq_,module,exports){
6121
6109
  /*! JSON v3.2.6 | http://bestiejs.github.io/json3 | Copyright 2012-2013, Kit Cambridge | http://kit.mit-license.org */
6122
6110
  ;(function (window) {
6123
6111
  // Convenience aliases.
@@ -6980,7 +6968,7 @@ module.exports=_dereq_(32)
6980
6968
  }
6981
6969
  }(this));
6982
6970
 
6983
- },{}],50:[function(_dereq_,module,exports){
6971
+ },{}],48:[function(_dereq_,module,exports){
6984
6972
  module.exports = toArray
6985
6973
 
6986
6974
  function toArray(list, index) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socket.io-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Chen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-15 00:00:00.000000000 Z
11
+ date: 2015-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties