dropzonejs-rails 0.4.11 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e72ebde5086f7653ba4b2ff9faf9ba1247a832d
4
- data.tar.gz: ca8b70f7a0ddbee0002bc570383bc76095d09e1b
3
+ metadata.gz: 20229c96f62878fc1f45521de96014fde6ff6ebd
4
+ data.tar.gz: ace779f77685ab4e67a5187d1c2547eee81ad2fa
5
5
  SHA512:
6
- metadata.gz: 2721ae0a488c2a4fc21c7cc39517f6bb57de7d8047df5d598ba361b1b36e4082eb7be235ea932068512dde18486b721477d0d5127f74de78754b22ed931b8277
7
- data.tar.gz: 8ed7a066b5a47585b2e77098bd230503785e121dd7ed8cc74d5b5605e72bbaa785df68e2d50e280ddfaace1d9e1f6c3e36bc1328d6bc22d4657757a7444cdc94
6
+ metadata.gz: 716b5a17f76ae375d0a073c985284ae88ea53ee3087c6ab8f44f44fcb33fbf873ecbc419003c3d75cba61925b931b2bdb29149654b00d23fcb31f215568d2965
7
+ data.tar.gz: 0092e7f67f209b100bb9506464b18ee2437e5975a67785239793c60cd29788b2b79c371908c8129a2e7be4b5eb57aeed1abd3ca318a6812977d4a1ed1ac53f68
data/README.md CHANGED
@@ -4,7 +4,7 @@ Integrate [Matias Meno's Dropzone](http://www.dropzonejs.com/) awesome file uplo
4
4
 
5
5
  ## Version
6
6
 
7
- The latest version of this gem bundles **Dropzone v3.7.4**.
7
+ The latest version of this gem bundles **Dropzone v3.8.2**.
8
8
 
9
9
  ## Installation and usage
10
10
 
@@ -1,4 +1,4 @@
1
1
  module DropzonejsRails
2
- VERSION = '0.4.11'
3
- DROPZONE_VERSION = '3.7.4'
2
+ VERSION = '0.4.12'
3
+ DROPZONE_VERSION = '3.8.2'
4
4
  end
@@ -242,7 +242,8 @@ function mixin(obj) {
242
242
  * @api public
243
243
  */
244
244
 
245
- Emitter.prototype.on = function(event, fn){
245
+ Emitter.prototype.on =
246
+ Emitter.prototype.addEventListener = function(event, fn){
246
247
  this._callbacks = this._callbacks || {};
247
248
  (this._callbacks[event] = this._callbacks[event] || [])
248
249
  .push(fn);
@@ -268,7 +269,7 @@ Emitter.prototype.once = function(event, fn){
268
269
  fn.apply(this, arguments);
269
270
  }
270
271
 
271
- fn._off = on;
272
+ on.fn = fn;
272
273
  this.on(event, on);
273
274
  return this;
274
275
  };
@@ -285,8 +286,17 @@ Emitter.prototype.once = function(event, fn){
285
286
 
286
287
  Emitter.prototype.off =
287
288
  Emitter.prototype.removeListener =
288
- Emitter.prototype.removeAllListeners = function(event, fn){
289
+ Emitter.prototype.removeAllListeners =
290
+ Emitter.prototype.removeEventListener = function(event, fn){
289
291
  this._callbacks = this._callbacks || {};
292
+
293
+ // all
294
+ if (0 == arguments.length) {
295
+ this._callbacks = {};
296
+ return this;
297
+ }
298
+
299
+ // specific event
290
300
  var callbacks = this._callbacks[event];
291
301
  if (!callbacks) return this;
292
302
 
@@ -297,8 +307,14 @@ Emitter.prototype.removeAllListeners = function(event, fn){
297
307
  }
298
308
 
299
309
  // remove specific handler
300
- var i = callbacks.indexOf(fn._off || fn);
301
- if (~i) callbacks.splice(i, 1);
310
+ var cb;
311
+ for (var i = 0; i < callbacks.length; i++) {
312
+ cb = callbacks[i];
313
+ if (cb === fn || cb.fn === fn) {
314
+ callbacks.splice(i, 1);
315
+ break;
316
+ }
317
+ }
302
318
  return this;
303
319
  };
304
320
 
@@ -389,7 +405,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
389
405
 
390
406
 
391
407
  (function() {
392
- var Dropzone, Em, camelize, contentLoaded, noop, without,
408
+ var Dropzone, Em, camelize, contentLoaded, detectVerticalSquash, drawImageIOSFix, noop, without,
393
409
  __hasProp = {}.hasOwnProperty,
394
410
  __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; },
395
411
  __slice = [].slice;
@@ -412,7 +428,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
412
428
  */
413
429
 
414
430
 
415
- Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "selectedfiles", "addedfile", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached"];
431
+ Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached"];
416
432
 
417
433
  Dropzone.prototype.defaultOptions = {
418
434
  url: null,
@@ -438,7 +454,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
438
454
  dictDefaultMessage: "Drop files here to upload",
439
455
  dictFallbackMessage: "Your browser does not support drag'n'drop file uploads.",
440
456
  dictFallbackText: "Please use the fallback form below to upload your files like in the olden days.",
441
- dictFileTooBig: "File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.",
457
+ dictFileTooBig: "File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",
442
458
  dictInvalidFileType: "You can't upload files of this type.",
443
459
  dictResponseError: "Server responded with {{statusCode}} code.",
444
460
  dictCancelUpload: "Cancel upload",
@@ -526,17 +542,16 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
526
542
  dragleave: function(e) {
527
543
  return this.element.classList.remove("dz-drag-hover");
528
544
  },
529
- selectedfiles: function(files) {
530
- if (this.element === this.previewsContainer) {
531
- return this.element.classList.add("dz-started");
532
- }
533
- },
545
+ paste: noop,
534
546
  reset: function() {
535
547
  return this.element.classList.remove("dz-started");
536
548
  },
537
549
  addedfile: function(file) {
538
- var node, _i, _j, _len, _len1, _ref, _ref1,
550
+ var node, removeFileEvent, removeLink, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _results,
539
551
  _this = this;
552
+ if (this.element === this.previewsContainer) {
553
+ this.element.classList.add("dz-started");
554
+ }
540
555
  file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());
541
556
  file.previewTemplate = file.previewElement;
542
557
  this.previewsContainer.appendChild(file.previewElement);
@@ -551,26 +566,33 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
551
566
  node.innerHTML = this.filesize(file.size);
552
567
  }
553
568
  if (this.options.addRemoveLinks) {
554
- file._removeLink = Dropzone.createElement("<a class=\"dz-remove\" href=\"javascript:undefined;\">" + this.options.dictRemoveFile + "</a>");
555
- file._removeLink.addEventListener("click", function(e) {
556
- e.preventDefault();
557
- e.stopPropagation();
558
- if (file.status === Dropzone.UPLOADING) {
559
- return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function() {
569
+ file._removeLink = Dropzone.createElement("<a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove>" + this.options.dictRemoveFile + "</a>");
570
+ file.previewElement.appendChild(file._removeLink);
571
+ }
572
+ removeFileEvent = function(e) {
573
+ e.preventDefault();
574
+ e.stopPropagation();
575
+ if (file.status === Dropzone.UPLOADING) {
576
+ return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function() {
577
+ return _this.removeFile(file);
578
+ });
579
+ } else {
580
+ if (_this.options.dictRemoveFileConfirmation) {
581
+ return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function() {
560
582
  return _this.removeFile(file);
561
583
  });
562
584
  } else {
563
- if (_this.options.dictRemoveFileConfirmation) {
564
- return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function() {
565
- return _this.removeFile(file);
566
- });
567
- } else {
568
- return _this.removeFile(file);
569
- }
585
+ return _this.removeFile(file);
570
586
  }
571
- });
572
- return file.previewElement.appendChild(file._removeLink);
587
+ }
588
+ };
589
+ _ref2 = file.previewElement.querySelectorAll("[data-dz-remove]");
590
+ _results = [];
591
+ for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
592
+ removeLink = _ref2[_k];
593
+ _results.push(removeLink.addEventListener("click", removeFileEvent));
573
594
  }
595
+ return _results;
574
596
  },
575
597
  removedfile: function(file) {
576
598
  var _ref;
@@ -797,11 +819,13 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
797
819
  _this.hiddenFileInput.style.width = "0";
798
820
  document.body.appendChild(_this.hiddenFileInput);
799
821
  return _this.hiddenFileInput.addEventListener("change", function() {
800
- var files;
822
+ var file, files, _i, _len;
801
823
  files = _this.hiddenFileInput.files;
802
824
  if (files.length) {
803
- _this.emit("selectedfiles", files);
804
- _this.handleFiles(files);
825
+ for (_i = 0, _len = files.length; _i < _len; _i++) {
826
+ file = files[_i];
827
+ _this.addFile(file);
828
+ }
805
829
  }
806
830
  return setupHiddenFileInput();
807
831
  });
@@ -823,6 +847,13 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
823
847
  this.on("canceled", function(file) {
824
848
  return _this.emit("complete", file);
825
849
  });
850
+ this.on("complete", function(file) {
851
+ if (_this.getUploadingFiles().length === 0 && _this.getQueuedFiles().length === 0) {
852
+ return setTimeout((function() {
853
+ return _this.emit("queuecomplete");
854
+ }), 0);
855
+ }
856
+ });
826
857
  noPropagation = function(e) {
827
858
  e.stopPropagation();
828
859
  if (e.preventDefault) {
@@ -858,6 +889,10 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
858
889
  },
859
890
  "dragend": function(e) {
860
891
  return _this.emit("dragend", e);
892
+ },
893
+ "paste": function(e) {
894
+ noPropagation(e);
895
+ return _this.paste(e);
861
896
  }
862
897
  }
863
898
  }
@@ -1051,17 +1086,29 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1051
1086
  }
1052
1087
  this.emit("drop", e);
1053
1088
  files = e.dataTransfer.files;
1054
- this.emit("selectedfiles", files);
1055
1089
  if (files.length) {
1056
1090
  items = e.dataTransfer.items;
1057
- if (items && items.length && ((items[0].webkitGetAsEntry != null) || (items[0].getAsEntry != null))) {
1058
- this.handleItems(items);
1091
+ if (items && items.length && (items[0].webkitGetAsEntry != null)) {
1092
+ this._addFilesFromItems(items);
1059
1093
  } else {
1060
1094
  this.handleFiles(files);
1061
1095
  }
1062
1096
  }
1063
1097
  };
1064
1098
 
1099
+ Dropzone.prototype.paste = function(e) {
1100
+ var items, _ref;
1101
+ return;
1102
+ if ((e != null ? (_ref = e.clipboardData) != null ? _ref.items : void 0 : void 0) == null) {
1103
+ return;
1104
+ }
1105
+ this.emit("paste", e);
1106
+ items = e.clipboardData.items;
1107
+ if (items.length) {
1108
+ return this._addFilesFromItems(items);
1109
+ }
1110
+ };
1111
+
1065
1112
  Dropzone.prototype.handleFiles = function(files) {
1066
1113
  var file, _i, _len, _results;
1067
1114
  _results = [];
@@ -1072,21 +1119,56 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1072
1119
  return _results;
1073
1120
  };
1074
1121
 
1075
- Dropzone.prototype.handleItems = function(items) {
1076
- var entry, item, _i, _len;
1122
+ Dropzone.prototype._addFilesFromItems = function(items) {
1123
+ var entry, item, _i, _len, _results;
1124
+ _results = [];
1077
1125
  for (_i = 0, _len = items.length; _i < _len; _i++) {
1078
1126
  item = items[_i];
1079
- if (item.webkitGetAsEntry != null) {
1080
- entry = item.webkitGetAsEntry();
1127
+ if ((item.webkitGetAsEntry != null) && (entry = item.webkitGetAsEntry())) {
1081
1128
  if (entry.isFile) {
1082
- this.addFile(item.getAsFile());
1129
+ _results.push(this.addFile(item.getAsFile()));
1083
1130
  } else if (entry.isDirectory) {
1084
- this.addDirectory(entry, entry.name);
1131
+ _results.push(this._addFilesFromDirectory(entry, entry.name));
1132
+ } else {
1133
+ _results.push(void 0);
1134
+ }
1135
+ } else if (item.getAsFile != null) {
1136
+ if ((item.kind == null) || item.kind === "file") {
1137
+ _results.push(this.addFile(item.getAsFile()));
1138
+ } else {
1139
+ _results.push(void 0);
1085
1140
  }
1086
1141
  } else {
1087
- this.addFile(item.getAsFile());
1142
+ _results.push(void 0);
1088
1143
  }
1089
1144
  }
1145
+ return _results;
1146
+ };
1147
+
1148
+ Dropzone.prototype._addFilesFromDirectory = function(directory, path) {
1149
+ var dirReader, entriesReader,
1150
+ _this = this;
1151
+ dirReader = directory.createReader();
1152
+ entriesReader = function(entries) {
1153
+ var entry, _i, _len;
1154
+ for (_i = 0, _len = entries.length; _i < _len; _i++) {
1155
+ entry = entries[_i];
1156
+ if (entry.isFile) {
1157
+ entry.file(function(file) {
1158
+ if (_this.options.ignoreHiddenFiles && file.name.substring(0, 1) === '.') {
1159
+ return;
1160
+ }
1161
+ file.fullPath = "" + path + "/" + file.name;
1162
+ return _this.addFile(file);
1163
+ });
1164
+ } else if (entry.isDirectory) {
1165
+ _this._addFilesFromDirectory(entry, "" + path + "/" + entry.name);
1166
+ }
1167
+ }
1168
+ };
1169
+ return dirReader.readEntries(entriesReader, function(error) {
1170
+ return typeof console !== "undefined" && console !== null ? typeof console.log === "function" ? console.log(error) : void 0 : void 0;
1171
+ });
1090
1172
  };
1091
1173
 
1092
1174
  Dropzone.prototype.accept = function(file, done) {
@@ -1112,9 +1194,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1112
1194
  this.files.push(file);
1113
1195
  file.status = Dropzone.ADDED;
1114
1196
  this.emit("addedfile", file);
1115
- if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {
1116
- this.createThumbnail(file);
1117
- }
1197
+ this._enqueueThumbnail(file);
1118
1198
  return this.accept(file, function(error) {
1119
1199
  if (error) {
1120
1200
  file.accepted = false;
@@ -1143,36 +1223,36 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1143
1223
  if (this.options.autoProcessQueue) {
1144
1224
  return setTimeout((function() {
1145
1225
  return _this.processQueue();
1146
- }), 1);
1226
+ }), 0);
1147
1227
  }
1148
1228
  } else {
1149
1229
  throw new Error("This file can't be queued because it has already been processed or was rejected.");
1150
1230
  }
1151
1231
  };
1152
1232
 
1153
- Dropzone.prototype.addDirectory = function(entry, path) {
1154
- var dirReader, entriesReader,
1155
- _this = this;
1156
- dirReader = entry.createReader();
1157
- entriesReader = function(entries) {
1158
- var _i, _len;
1159
- for (_i = 0, _len = entries.length; _i < _len; _i++) {
1160
- entry = entries[_i];
1161
- if (entry.isFile) {
1162
- entry.file(function(file) {
1163
- if (_this.options.ignoreHiddenFiles && file.name.substring(0, 1) === '.') {
1164
- return;
1165
- }
1166
- file.fullPath = "" + path + "/" + file.name;
1167
- return _this.addFile(file);
1168
- });
1169
- } else if (entry.isDirectory) {
1170
- _this.addDirectory(entry, "" + path + "/" + entry.name);
1171
- }
1172
- }
1173
- };
1174
- return dirReader.readEntries(entriesReader, function(error) {
1175
- return typeof console !== "undefined" && console !== null ? typeof console.log === "function" ? console.log(error) : void 0 : void 0;
1233
+ Dropzone.prototype._thumbnailQueue = [];
1234
+
1235
+ Dropzone.prototype._processingThumbnail = false;
1236
+
1237
+ Dropzone.prototype._enqueueThumbnail = function(file) {
1238
+ var _this = this;
1239
+ if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {
1240
+ this._thumbnailQueue.push(file);
1241
+ return setTimeout((function() {
1242
+ return _this._processThumbnailQueue();
1243
+ }), 0);
1244
+ }
1245
+ };
1246
+
1247
+ Dropzone.prototype._processThumbnailQueue = function() {
1248
+ var _this = this;
1249
+ if (this._processingThumbnail || this._thumbnailQueue.length === 0) {
1250
+ return;
1251
+ }
1252
+ this._processingThumbnail = true;
1253
+ return this.createThumbnail(this._thumbnailQueue.shift(), function() {
1254
+ _this._processingThumbnail = false;
1255
+ return _this._processThumbnailQueue();
1176
1256
  });
1177
1257
  };
1178
1258
 
@@ -1202,7 +1282,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1202
1282
  return null;
1203
1283
  };
1204
1284
 
1205
- Dropzone.prototype.createThumbnail = function(file) {
1285
+ Dropzone.prototype.createThumbnail = function(file, callback) {
1206
1286
  var fileReader,
1207
1287
  _this = this;
1208
1288
  fileReader = new FileReader;
@@ -1224,9 +1304,12 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1224
1304
  ctx = canvas.getContext("2d");
1225
1305
  canvas.width = resizeInfo.trgWidth;
1226
1306
  canvas.height = resizeInfo.trgHeight;
1227
- ctx.drawImage(img, (_ref = resizeInfo.srcX) != null ? _ref : 0, (_ref1 = resizeInfo.srcY) != null ? _ref1 : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, (_ref2 = resizeInfo.trgX) != null ? _ref2 : 0, (_ref3 = resizeInfo.trgY) != null ? _ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
1307
+ drawImageIOSFix(ctx, img, (_ref = resizeInfo.srcX) != null ? _ref : 0, (_ref1 = resizeInfo.srcY) != null ? _ref1 : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, (_ref2 = resizeInfo.trgX) != null ? _ref2 : 0, (_ref3 = resizeInfo.trgY) != null ? _ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
1228
1308
  thumbnail = canvas.toDataURL("image/png");
1229
- return _this.emit("thumbnail", file, thumbnail);
1309
+ _this.emit("thumbnail", file, thumbnail);
1310
+ if (callback != null) {
1311
+ return callback();
1312
+ }
1230
1313
  };
1231
1314
  return img.src = fileReader.result;
1232
1315
  };
@@ -1501,7 +1584,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1501
1584
 
1502
1585
  })(Em);
1503
1586
 
1504
- Dropzone.version = "3.7.4";
1587
+ Dropzone.version = "3.8.2";
1505
1588
 
1506
1589
  Dropzone.options = {};
1507
1590
 
@@ -1730,6 +1813,50 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
1730
1813
 
1731
1814
  Dropzone.SUCCESS = "success";
1732
1815
 
1816
+ /*
1817
+
1818
+ Bugfix for iOS 6 and 7
1819
+ Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios
1820
+ based on the work of https://github.com/stomita/ios-imagefile-megapixel
1821
+ */
1822
+
1823
+
1824
+ detectVerticalSquash = function(img) {
1825
+ var alpha, canvas, ctx, data, ey, ih, iw, py, ratio, sy;
1826
+ iw = img.naturalWidth;
1827
+ ih = img.naturalHeight;
1828
+ canvas = document.createElement("canvas");
1829
+ canvas.width = 1;
1830
+ canvas.height = ih;
1831
+ ctx = canvas.getContext("2d");
1832
+ ctx.drawImage(img, 0, 0);
1833
+ data = ctx.getImageData(0, 0, 1, ih).data;
1834
+ sy = 0;
1835
+ ey = ih;
1836
+ py = ih;
1837
+ while (py > sy) {
1838
+ alpha = data[(py - 1) * 4 + 3];
1839
+ if (alpha === 0) {
1840
+ ey = py;
1841
+ } else {
1842
+ sy = py;
1843
+ }
1844
+ py = (ey + sy) >> 1;
1845
+ }
1846
+ ratio = py / ih;
1847
+ if (ratio === 0) {
1848
+ return 1;
1849
+ } else {
1850
+ return ratio;
1851
+ }
1852
+ };
1853
+
1854
+ drawImageIOSFix = function(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {
1855
+ var vertSquashRatio;
1856
+ vertSquashRatio = detectVerticalSquash(img);
1857
+ return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
1858
+ };
1859
+
1733
1860
  /*
1734
1861
  # contentloaded.js
1735
1862
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dropzonejs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.4.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - José Nahuel Cuesta Luengo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-12 00:00:00.000000000 Z
11
+ date: 2013-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit