select2-rails 3.3.1 → 3.3.2

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.
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  Copyright 2012 Igor Vaynberg
3
3
 
4
- Version: 3.3.1 Timestamp: Wed Feb 20 09:57:22 PST 2013
4
+ Version: 3.3.2 Timestamp: Mon Mar 25 12:14:18 PDT 2013
5
5
 
6
6
  This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
7
  General Public License version 2 (the "GPL License"). You may choose either license to govern your
@@ -118,8 +118,8 @@ the specific language governing permissions and limitations under the Apache Lic
118
118
  if (a === b) return true;
119
119
  if (a === undefined || b === undefined) return false;
120
120
  if (a === null || b === null) return false;
121
- if (a.constructor === String) return a === b+'';
122
- if (b.constructor === String) return b === a+'';
121
+ if (a.constructor === String) return a+'' === b+''; // IE requires a+'' instead of just a
122
+ if (b.constructor === String) return b+'' === a+''; // IE requires b+'' instead of just b
123
123
  return false;
124
124
  }
125
125
 
@@ -229,20 +229,22 @@ the specific language governing permissions and limitations under the Apache Lic
229
229
 
230
230
  $el.focus();
231
231
 
232
- /* after the focus is set move the caret to the end, necessary when we val()
233
- just before setting focus */
234
- if(el.setSelectionRange)
235
- {
236
- el.setSelectionRange(pos, pos);
237
- }
238
- else if (el.createTextRange) {
239
- range = el.createTextRange();
240
- range.collapse(true);
241
- range.moveEnd('character', pos);
242
- range.moveStart('character', pos);
243
- range.select();
244
- }
232
+ /* make sure el received focus so we do not error out when trying to manipulate the caret.
233
+ sometimes modals or others listeners may steal it after its set */
234
+ if ($el.is(":visible") && el === document.activeElement) {
245
235
 
236
+ /* after the focus is set move the caret to the end, necessary when we val()
237
+ just before setting focus */
238
+ if(el.setSelectionRange)
239
+ {
240
+ el.setSelectionRange(pos, pos);
241
+ }
242
+ else if (el.createTextRange) {
243
+ range = el.createTextRange();
244
+ range.collapse(false);
245
+ range.select();
246
+ }
247
+ }
246
248
  }, 0);
247
249
  }
248
250
 
@@ -282,7 +284,8 @@ the specific language governing permissions and limitations under the Apache Lic
282
284
  var classes, replacements = [], adapted;
283
285
 
284
286
  classes = dest.attr("class");
285
- if (typeof classes === "string") {
287
+ if (classes) {
288
+ classes = '' + classes; // for IE which returns object
286
289
  $(classes.split(" ")).each2(function() {
287
290
  if (this.indexOf("select2-") === 0) {
288
291
  replacements.push(this);
@@ -290,11 +293,12 @@ the specific language governing permissions and limitations under the Apache Lic
290
293
  });
291
294
  }
292
295
  classes = src.attr("class");
293
- if (typeof classes === "string") {
296
+ if (classes) {
297
+ classes = '' + classes; // for IE which returns object
294
298
  $(classes.split(" ")).each2(function() {
295
299
  if (this.indexOf("select2-") !== 0) {
296
300
  adapted = adapter(this);
297
- if (typeof adapted === "string" && adapted.length > 0) {
301
+ if (adapted) {
298
302
  replacements.push(this);
299
303
  }
300
304
  }
@@ -790,7 +794,7 @@ the specific language governing permissions and limitations under the Apache Lic
790
794
  if ("tags" in opts) {
791
795
  throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
792
796
  }
793
- opts.tags=opts.element.attr("data-select2-tags");
797
+ opts.tags=opts.element.data("select2Tags");
794
798
  }
795
799
 
796
800
  if (select) {
@@ -1119,9 +1123,7 @@ the specific language governing permissions and limitations under the Apache Lic
1119
1123
  this.dropdown.attr("id", "select2-drop");
1120
1124
 
1121
1125
  // show the elements
1122
- mask.css({
1123
- width: document.documentElement.scrollWidth,
1124
- height: document.documentElement.scrollHeight});
1126
+ mask.css(_makeMaskCss());
1125
1127
  mask.show();
1126
1128
  this.dropdown.show();
1127
1129
  this.positionDropdown();
@@ -1134,14 +1136,19 @@ the specific language governing permissions and limitations under the Apache Lic
1134
1136
  var that = this;
1135
1137
  this.container.parents().add(window).each(function () {
1136
1138
  $(this).bind(resize+" "+scroll+" "+orient, function (e) {
1137
- $("#select2-drop-mask").css({
1138
- width:document.documentElement.scrollWidth,
1139
- height:document.documentElement.scrollHeight});
1139
+ $("#select2-drop-mask").css(_makeMaskCss());
1140
1140
  that.positionDropdown();
1141
1141
  });
1142
1142
  });
1143
1143
 
1144
1144
  this.focusSearch();
1145
+
1146
+ function _makeMaskCss() {
1147
+ return {
1148
+ width : Math.max(document.documentElement.scrollWidth, $(window).width()),
1149
+ height : Math.max(document.documentElement.scrollHeight, $(window).height())
1150
+ }
1151
+ }
1145
1152
  },
1146
1153
 
1147
1154
  // abstract
@@ -1164,7 +1171,7 @@ the specific language governing permissions and limitations under the Apache Lic
1164
1171
  this.container.removeClass("select2-dropdown-open");
1165
1172
  this.results.empty();
1166
1173
  this.clearSearch();
1167
-
1174
+ this.search.removeClass("select2-active");
1168
1175
  this.opts.element.trigger($.Event("close"));
1169
1176
  },
1170
1177
 
@@ -1315,6 +1322,7 @@ the specific language governing permissions and limitations under the Apache Lic
1315
1322
 
1316
1323
 
1317
1324
  self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
1325
+ self.postprocessResults(data, false, false);
1318
1326
 
1319
1327
  if (data.more===true) {
1320
1328
  more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
@@ -1341,15 +1349,25 @@ the specific language governing permissions and limitations under the Apache Lic
1341
1349
  */
1342
1350
  // abstract
1343
1351
  updateResults: function (initial) {
1344
- var search = this.search, results = this.results, opts = this.opts, data, self=this, input;
1352
+ var search = this.search,
1353
+ results = this.results,
1354
+ opts = this.opts,
1355
+ data,
1356
+ self = this,
1357
+ input,
1358
+ term = search.val(),
1359
+ lastTerm=$.data(this.container, "select2-last-term");
1360
+
1361
+ // prevent duplicate queries against the same term
1362
+ if (initial !== true && lastTerm && equal(term, lastTerm)) return;
1363
+
1364
+ $.data(this.container, "select2-last-term", term);
1345
1365
 
1346
1366
  // if the search is currently hidden we do not alter the results
1347
1367
  if (initial !== true && (this.showSearchInput === false || !this.opened())) {
1348
1368
  return;
1349
1369
  }
1350
1370
 
1351
- search.addClass("select2-active");
1352
-
1353
1371
  function postRender() {
1354
1372
  results.scrollTop(0);
1355
1373
  search.removeClass("select2-active");
@@ -1378,9 +1396,6 @@ the specific language governing permissions and limitations under the Apache Lic
1378
1396
  }
1379
1397
  return;
1380
1398
  }
1381
- else if (opts.formatSearching() && initial===true) {
1382
- render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
1383
- }
1384
1399
 
1385
1400
  if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
1386
1401
  if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
@@ -1391,6 +1406,12 @@ the specific language governing permissions and limitations under the Apache Lic
1391
1406
  return;
1392
1407
  }
1393
1408
 
1409
+ if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
1410
+ render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
1411
+ }
1412
+
1413
+ search.addClass("select2-active");
1414
+
1394
1415
  // give the tokenizer a chance to pre-process the input
1395
1416
  input = this.tokenize();
1396
1417
  if (input != undefined && input != null) {
@@ -1409,7 +1430,10 @@ the specific language governing permissions and limitations under the Apache Lic
1409
1430
  var def; // default choice
1410
1431
 
1411
1432
  // ignore a response if the select2 has been closed before it was received
1412
- if (!this.opened()) return;
1433
+ if (!this.opened()) {
1434
+ this.search.removeClass("select2-active");
1435
+ return;
1436
+ }
1413
1437
 
1414
1438
  // save context, if any
1415
1439
  this.context = (data.context===undefined) ? null : data.context;
@@ -1442,6 +1466,8 @@ the specific language governing permissions and limitations under the Apache Lic
1442
1466
  this.postprocessResults(data, initial);
1443
1467
 
1444
1468
  postRender();
1469
+
1470
+ this.opts.element.trigger({ type: "loaded", data:data });
1445
1471
  })});
1446
1472
  },
1447
1473
 
@@ -1635,6 +1661,11 @@ the specific language governing permissions and limitations under the Apache Lic
1635
1661
 
1636
1662
  this.focusser = container.find(".select2-focusser");
1637
1663
 
1664
+ // rewrite labels from original element to focusser
1665
+ this.focusser.attr("id", "s2id_autogen"+nextUid());
1666
+ $("label[for='" + this.opts.element.attr("id") + "']")
1667
+ .attr('for', this.focusser.attr('id'));
1668
+
1638
1669
  this.search.bind("keydown", this.bind(function (e) {
1639
1670
  if (!this.enabled) return;
1640
1671
 
@@ -1662,6 +1693,16 @@ the specific language governing permissions and limitations under the Apache Lic
1662
1693
  }
1663
1694
  }));
1664
1695
 
1696
+ this.search.bind("blur", this.bind(function(e) {
1697
+ // a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
1698
+ // without this the search field loses focus which is annoying
1699
+ if (document.activeElement === this.body().get(0)) {
1700
+ window.setTimeout(this.bind(function() {
1701
+ this.search.focus();
1702
+ }), 0);
1703
+ }
1704
+ }));
1705
+
1665
1706
  this.focusser.bind("keydown", this.bind(function (e) {
1666
1707
  if (!this.enabled) return;
1667
1708
 
@@ -1747,15 +1788,19 @@ the specific language governing permissions and limitations under the Apache Lic
1747
1788
  },
1748
1789
 
1749
1790
  // single
1750
- clear: function() {
1791
+ clear: function(triggerChange) {
1751
1792
  var data=this.selection.data("select2-data");
1752
- this.opts.element.val("");
1753
- this.selection.find("span").empty();
1754
- this.selection.removeData("select2-data");
1755
- this.setPlaceholder();
1793
+ if (data) { // guard against queued quick consecutive clicks
1794
+ this.opts.element.val("");
1795
+ this.selection.find("span").empty();
1796
+ this.selection.removeData("select2-data");
1797
+ this.setPlaceholder();
1756
1798
 
1757
- this.opts.element.trigger({ type: "removed", val: this.id(data), choice: data });
1758
- this.triggerChange({removed:data});
1799
+ if (triggerChange !== false){
1800
+ this.opts.element.trigger({ type: "removed", val: this.id(data), choice: data });
1801
+ this.triggerChange({removed:data});
1802
+ }
1803
+ }
1759
1804
  },
1760
1805
 
1761
1806
  /**
@@ -1795,13 +1840,18 @@ the specific language governing permissions and limitations under the Apache Lic
1795
1840
  // install default initSelection when applied to hidden input and data is local
1796
1841
  opts.initSelection = opts.initSelection || function (element, callback) {
1797
1842
  var id = element.val();
1798
- //search in data by id
1843
+ //search in data by id, storing the actual matching item
1844
+ var match = null;
1799
1845
  opts.query({
1800
1846
  matcher: function(term, text, el){
1801
- return equal(id, opts.id(el));
1847
+ var is_match = equal(id, opts.id(el));
1848
+ if (is_match) {
1849
+ match = el;
1850
+ }
1851
+ return is_match;
1802
1852
  },
1803
- callback: !$.isFunction(callback) ? $.noop : function(filtered) {
1804
- callback(filtered.results.length ? filtered.results[0] : null);
1853
+ callback: !$.isFunction(callback) ? $.noop : function() {
1854
+ callback(match);
1805
1855
  }
1806
1856
  });
1807
1857
  };
@@ -1840,7 +1890,7 @@ the specific language governing permissions and limitations under the Apache Lic
1840
1890
  },
1841
1891
 
1842
1892
  // single
1843
- postprocessResults: function (data, initial) {
1893
+ postprocessResults: function (data, initial, noHighlightUpdate) {
1844
1894
  var selected = 0, self = this, showSearchInput = true;
1845
1895
 
1846
1896
  // find the selected element in the result list
@@ -1853,8 +1903,9 @@ the specific language governing permissions and limitations under the Apache Lic
1853
1903
  });
1854
1904
 
1855
1905
  // and highlight it
1856
-
1857
- this.highlight(selected);
1906
+ if (noHighlightUpdate !== false) {
1907
+ this.highlight(selected);
1908
+ }
1858
1909
 
1859
1910
  // hide the search box if this is the first we got the results and there are a few of them
1860
1911
 
@@ -1930,7 +1981,7 @@ the specific language governing permissions and limitations under the Apache Lic
1930
1981
  this.select
1931
1982
  .val(val)
1932
1983
  .find(":selected").each2(function (i, elm) {
1933
- data = {id: elm.attr("value"), text: elm.text()};
1984
+ data = {id: elm.attr("value"), text: elm.text(), element: elm.get(0)};
1934
1985
  return false;
1935
1986
  });
1936
1987
  this.updateSelection(data);
@@ -1944,7 +1995,7 @@ the specific language governing permissions and limitations under the Apache Lic
1944
1995
  }
1945
1996
  // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
1946
1997
  if (!val && val !== 0) {
1947
- this.clear();
1998
+ this.clear(triggerChange);
1948
1999
  if (triggerChange) {
1949
2000
  this.triggerChange();
1950
2001
  }
@@ -2028,15 +2079,20 @@ the specific language governing permissions and limitations under the Apache Lic
2028
2079
  // install default initSelection when applied to hidden input and data is local
2029
2080
  opts.initSelection = opts.initSelection || function (element, callback) {
2030
2081
  var ids = splitVal(element.val(), opts.separator);
2031
- //search in data by array of ids
2082
+ //search in data by array of ids, storing matching items in a list
2083
+ var matches = [];
2032
2084
  opts.query({
2033
2085
  matcher: function(term, text, el){
2034
- return $.grep(ids, function(id) {
2086
+ var is_match = $.grep(ids, function(id) {
2035
2087
  return equal(id, opts.id(el));
2036
2088
  }).length;
2089
+ if (is_match) {
2090
+ matches.push(el);
2091
+ }
2092
+ return is_match;
2037
2093
  },
2038
- callback: !$.isFunction(callback) ? $.noop : function(filtered) {
2039
- callback(filtered.results);
2094
+ callback: !$.isFunction(callback) ? $.noop : function() {
2095
+ callback(matches);
2040
2096
  }
2041
2097
  });
2042
2098
  };
@@ -2053,6 +2109,11 @@ the specific language governing permissions and limitations under the Apache Lic
2053
2109
  this.searchContainer = this.container.find(".select2-search-field");
2054
2110
  this.selection = selection = this.container.find(selector);
2055
2111
 
2112
+ // rewrite labels from original element to focusser
2113
+ this.search.attr("id", "s2id_autogen"+nextUid());
2114
+ $("label[for='" + this.opts.element.attr("id") + "']")
2115
+ .attr('for', this.search.attr('id'));
2116
+
2056
2117
  this.search.bind("input paste", this.bind(function() {
2057
2118
  if (!this.enabled) return;
2058
2119
  if (!this.opened()) {
@@ -2121,6 +2182,12 @@ the specific language governing permissions and limitations under the Apache Lic
2121
2182
  // prevent the page from scrolling
2122
2183
  killEvent(e);
2123
2184
  }
2185
+
2186
+ if (e.which === KEY.ENTER) {
2187
+ // prevent form from being submitted
2188
+ killEvent(e);
2189
+ }
2190
+
2124
2191
  }));
2125
2192
 
2126
2193
  this.search.bind("keyup", this.bind(this.resizeSearch));
@@ -2204,7 +2271,8 @@ the specific language governing permissions and limitations under the Apache Lic
2204
2271
  if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
2205
2272
  this.search.val(placeholder).addClass("select2-default");
2206
2273
  // stretch the search box to full width of the container so as much of the placeholder is visible as possible
2207
- this.resizeSearch();
2274
+ // we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
2275
+ this.search.width(this.getMaxSearchWidth());
2208
2276
  } else {
2209
2277
  this.search.val("").width(10);
2210
2278
  }
@@ -2219,10 +2287,11 @@ the specific language governing permissions and limitations under the Apache Lic
2219
2287
 
2220
2288
  // multi
2221
2289
  opening: function () {
2290
+ this.clearPlaceholder(); // should be done before super so placeholder is not used to search
2291
+ this.resizeSearch();
2292
+
2222
2293
  this.parent.opening.apply(this, arguments);
2223
2294
 
2224
- this.clearPlaceholder();
2225
- this.resizeSearch();
2226
2295
  this.focusSearch();
2227
2296
 
2228
2297
  this.opts.element.trigger($.Event("open"));
@@ -2238,7 +2307,7 @@ the specific language governing permissions and limitations under the Apache Lic
2238
2307
  focus: function () {
2239
2308
  this.close();
2240
2309
  this.search.focus();
2241
- this.opts.element.triggerHandler("focus");
2310
+ //this.opts.element.triggerHandler("focus");
2242
2311
  },
2243
2312
 
2244
2313
  // multi
@@ -2266,6 +2335,7 @@ the specific language governing permissions and limitations under the Apache Lic
2266
2335
  self.postprocessResults();
2267
2336
  },
2268
2337
 
2338
+ // multi
2269
2339
  tokenize: function() {
2270
2340
  var input = this.search.val();
2271
2341
  input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
@@ -2293,7 +2363,7 @@ the specific language governing permissions and limitations under the Apache Lic
2293
2363
  if (this.countSelectableResults()>0) {
2294
2364
  this.search.width(10);
2295
2365
  this.resizeSearch();
2296
- if (this.val().length >= this.getMaximumSelectionSize()) {
2366
+ if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
2297
2367
  // if we reached max selection size repaint the results so choices
2298
2368
  // are replaced with the max selection reached message
2299
2369
  this.updateResults(true);
@@ -2431,6 +2501,11 @@ the specific language governing permissions and limitations under the Apache Lic
2431
2501
 
2432
2502
  },
2433
2503
 
2504
+ // multi
2505
+ getMaxSearchWidth: function() {
2506
+ return this.selection.width() - getSideBorderPadding(this.search);
2507
+ },
2508
+
2434
2509
  // multi
2435
2510
  resizeSearch: function () {
2436
2511
  var minimumWidth, left, maxWidth, containerLeft, searchWidth,
@@ -2656,7 +2731,7 @@ the specific language governing permissions and limitations under the Apache Lic
2656
2731
  formatResultCssClass: function(data) {return undefined;},
2657
2732
  formatNoMatches: function () { return "No matches found"; },
2658
2733
  formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1? "" : "s"); },
2659
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Please enter " + n + " less character" + (n == 1? "" : "s"); },
2734
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1? "" : "s"); },
2660
2735
  formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
2661
2736
  formatLoadMore: function (pageNumber) { return "Loading more results..."; },
2662
2737
  formatSearching: function () { return "Searching..."; },
@@ -2666,7 +2741,7 @@ the specific language governing permissions and limitations under the Apache Lic
2666
2741
  maximumSelectionSize: 0,
2667
2742
  id: function (e) { return e.id; },
2668
2743
  matcher: function(term, text) {
2669
- return text.toUpperCase().indexOf(term.toUpperCase()) >= 0;
2744
+ return (''+text).toUpperCase().indexOf((''+term).toUpperCase()) >= 0;
2670
2745
  },
2671
2746
  separator: ",",
2672
2747
  tokenSeparators: [],
@@ -2682,7 +2757,7 @@ the specific language governing permissions and limitations under the Apache Lic
2682
2757
  "/": '&#47;'
2683
2758
  };
2684
2759
 
2685
- return String(markup).replace(/[&<>"'/\\]/g, function (match) {
2760
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
2686
2761
  return replace_map[match[0]];
2687
2762
  });
2688
2763
  },
@@ -1,5 +1,5 @@
1
1
  /*
2
- Version: 3.3.1 Timestamp: Wed Feb 20 09:57:22 PST 2013
2
+ Version: 3.3.2 Timestamp: Mon Mar 25 12:14:18 PDT 2013
3
3
  */
4
4
  .select2-container {
5
5
  position: relative;
@@ -7,7 +7,7 @@ Version: 3.3.1 Timestamp: Wed Feb 20 09:57:22 PST 2013
7
7
  /* inline-block for ie7 */
8
8
  zoom: 1;
9
9
  *display: inline;
10
- vertical-align: top;
10
+ vertical-align: middle;
11
11
  }
12
12
 
13
13
  .select2-container,
@@ -119,7 +119,11 @@ Version: 3.3.1 Timestamp: Wed Feb 20 09:57:22 PST 2013
119
119
  left: 0;
120
120
  top: 0;
121
121
  z-index: 9998;
122
+ background-color: #fff;
122
123
  opacity: 0;
124
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; /* works in IE 8 */
125
+ filter: "alpha(opacity=0)"; /* expected to work in IE 8 */
126
+ filter: alpha(opacity=0); /* IE 4-7 */
123
127
  }
124
128
 
125
129
  .select2-drop {
@@ -335,6 +339,8 @@ Version: 3.3.1 Timestamp: Wed Feb 20 09:57:22 PST 2013
335
339
  margin: 0;
336
340
  cursor: pointer;
337
341
 
342
+ min-height: 1em;
343
+
338
344
  -webkit-touch-callout: none;
339
345
  -webkit-user-select: none;
340
346
  -khtml-user-select: none;
@@ -585,8 +591,14 @@ disabled look for disabled choices in the results dropdown
585
591
  }
586
592
 
587
593
  .select2-offscreen {
594
+ border: 0;
595
+ clip: rect(0 0 0 0);
596
+ height: 1px;
597
+ margin: -1px;
598
+ overflow: hidden;
599
+ padding: 0;
588
600
  position: absolute;
589
- left: -10000px;
601
+ width: 1px;
590
602
  }
591
603
 
592
604
  /* Retina-ize icons */
@@ -601,3 +613,4 @@ disabled look for disabled choices in the results dropdown
601
613
  background-position: 100% -21px !important;
602
614
  }
603
615
  }
616
+
@@ -1,5 +1,5 @@
1
1
  module Select2
2
2
  module Rails
3
- VERSION = "3.3.1"
3
+ VERSION = "3.3.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: select2-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-09 00:00:00.000000000 Z
13
+ date: 2013-05-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor