vuejs 1.0.20 → 1.0.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/lib/vuejs/version.rb +1 -1
- data/vendor/assets/javascripts/vue-router.js +150 -90
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d31786cb8bffc4b3f5d2f550c97c0ed48e5e792e
|
4
|
+
data.tar.gz: 2c3b7d907290bd32768405370b7b523ebf14814b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 768437ac5e4c6a1df970c1781cd0efdd8498c39a564c40146c3f81135d9cef1e10e0fb71c999983a092ae049b1da8c4d75d310511f57e043f7b359901c292c4f
|
7
|
+
data.tar.gz: 0bdd144fa560dbae978f55f882cff82438faef069b824f95300150ffe4bfb9d10c24c5f44a8d1dd0927c91ac3b98066816c0e3b9484c50410969dc47311f9577
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Vuejs ships with the latest [Vue.js + router + resource](http://vuejs.org/) and integrate with Rails' asset pipeline. Vue.js is created by Evan You.
|
4
4
|
|
5
|
-
The current version is Vue.js (
|
5
|
+
The current version is Vue.js (v1.0.20) + vue-router (v0.7.12) + vue-resource (v0.7.0)
|
6
6
|
|
7
7
|
> Reactive Components for Modern Web Interfaces
|
8
8
|
|
data/lib/vuejs/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* vue-router v0.7.
|
2
|
+
* vue-router v0.7.12
|
3
3
|
* (c) 2016 Evan You
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -125,6 +125,21 @@
|
|
125
125
|
|
126
126
|
var escapeRegex = new RegExp('(\\' + specials.join('|\\') + ')', 'g');
|
127
127
|
|
128
|
+
var noWarning = false;
|
129
|
+
function warn(msg) {
|
130
|
+
if (!noWarning && typeof console !== 'undefined') {
|
131
|
+
console.error('[vue-router] ' + msg);
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
function tryDecode(uri, asComponent) {
|
136
|
+
try {
|
137
|
+
return asComponent ? decodeURIComponent(uri) : decodeURI(uri);
|
138
|
+
} catch (e) {
|
139
|
+
warn('malformed URI' + (asComponent ? ' component: ' : ': ') + uri);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
128
143
|
function isArray(test) {
|
129
144
|
return Object.prototype.toString.call(test) === "[object Array]";
|
130
145
|
}
|
@@ -465,7 +480,7 @@
|
|
465
480
|
function decodeQueryParamPart(part) {
|
466
481
|
// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
|
467
482
|
part = part.replace(/\+/gm, '%20');
|
468
|
-
return
|
483
|
+
return tryDecode(part, true);
|
469
484
|
}
|
470
485
|
|
471
486
|
// The main interface
|
@@ -647,7 +662,8 @@
|
|
647
662
|
return queryParams;
|
648
663
|
},
|
649
664
|
|
650
|
-
recognize: function recognize(path) {
|
665
|
+
recognize: function recognize(path, silent) {
|
666
|
+
noWarning = silent;
|
651
667
|
var states = [this.rootState],
|
652
668
|
pathLen,
|
653
669
|
i,
|
@@ -660,10 +676,13 @@
|
|
660
676
|
if (queryStart !== -1) {
|
661
677
|
var queryString = path.substr(queryStart + 1, path.length);
|
662
678
|
path = path.substr(0, queryStart);
|
663
|
-
|
679
|
+
if (queryString) {
|
680
|
+
queryParams = this.parseQueryString(queryString);
|
681
|
+
}
|
664
682
|
}
|
665
683
|
|
666
|
-
path =
|
684
|
+
path = tryDecode(path);
|
685
|
+
if (!path) return;
|
667
686
|
|
668
687
|
// DEBUG GROUP path
|
669
688
|
|
@@ -710,8 +729,6 @@
|
|
710
729
|
|
711
730
|
RouteRecognizer.prototype.map = map;
|
712
731
|
|
713
|
-
RouteRecognizer.VERSION = '0.1.9';
|
714
|
-
|
715
732
|
var genQuery = RouteRecognizer.prototype.generateQueryString;
|
716
733
|
|
717
734
|
// export default for holding the Vue reference
|
@@ -722,13 +739,10 @@
|
|
722
739
|
* @param {String} msg
|
723
740
|
*/
|
724
741
|
|
725
|
-
function warn(msg) {
|
742
|
+
function warn$1(msg) {
|
726
743
|
/* istanbul ignore next */
|
727
|
-
if (
|
728
|
-
console.
|
729
|
-
if (!exports$1.Vue || exports$1.Vue.config.debug) {
|
730
|
-
console.warn(new Error('warning stack trace:').stack);
|
731
|
-
}
|
744
|
+
if (typeof console !== 'undefined') {
|
745
|
+
console.error('[vue-router] ' + msg);
|
732
746
|
}
|
733
747
|
}
|
734
748
|
|
@@ -847,7 +861,7 @@
|
|
847
861
|
var val = params[key];
|
848
862
|
/* istanbul ignore if */
|
849
863
|
if (!val) {
|
850
|
-
warn('param "' + key + '" not found when generating ' + 'path for "' + path + '" with params ' + JSON.stringify(params));
|
864
|
+
warn$1('param "' + key + '" not found when generating ' + 'path for "' + path + '" with params ' + JSON.stringify(params));
|
851
865
|
}
|
852
866
|
return val || '';
|
853
867
|
});
|
@@ -865,7 +879,7 @@
|
|
865
879
|
var onChange = _ref.onChange;
|
866
880
|
babelHelpers.classCallCheck(this, HTML5History);
|
867
881
|
|
868
|
-
if (root) {
|
882
|
+
if (root && root !== '/') {
|
869
883
|
// make sure there's the starting slash
|
870
884
|
if (root.charAt(0) !== '/') {
|
871
885
|
root = '/' + root;
|
@@ -886,7 +900,7 @@
|
|
886
900
|
var _this = this;
|
887
901
|
|
888
902
|
this.listener = function (e) {
|
889
|
-
var url =
|
903
|
+
var url = location.pathname + location.search;
|
890
904
|
if (_this.root) {
|
891
905
|
url = url.replace(_this.rootRE, '');
|
892
906
|
}
|
@@ -962,7 +976,7 @@
|
|
962
976
|
// note it's possible to have queries in both the actual URL
|
963
977
|
// and the hash fragment itself.
|
964
978
|
var query = location.search && path.indexOf('?') > -1 ? '&' + location.search.slice(1) : location.search;
|
965
|
-
self.onChange(
|
979
|
+
self.onChange(path.replace(/^#!?/, '') + query);
|
966
980
|
};
|
967
981
|
window.addEventListener('hashchange', this.listener);
|
968
982
|
this.listener();
|
@@ -1535,7 +1549,7 @@
|
|
1535
1549
|
var onError = function onError(err) {
|
1536
1550
|
postActivate ? next() : abort();
|
1537
1551
|
if (err && !transition.router._suppress) {
|
1538
|
-
warn('Uncaught error during transition: ');
|
1552
|
+
warn$1('Uncaught error during transition: ');
|
1539
1553
|
throw err instanceof Error ? err : new Error(err);
|
1540
1554
|
}
|
1541
1555
|
};
|
@@ -1555,7 +1569,7 @@
|
|
1555
1569
|
// advance the transition to the next step
|
1556
1570
|
var next = function next() {
|
1557
1571
|
if (nextCalled) {
|
1558
|
-
warn('transition.next() should be called only once.');
|
1572
|
+
warn$1('transition.next() should be called only once.');
|
1559
1573
|
return;
|
1560
1574
|
}
|
1561
1575
|
nextCalled = true;
|
@@ -1665,7 +1679,7 @@
|
|
1665
1679
|
return val ? Array.prototype.slice.call(val) : [];
|
1666
1680
|
}
|
1667
1681
|
|
1668
|
-
var internalKeysRE = /^(component|subRoutes)$/;
|
1682
|
+
var internalKeysRE = /^(component|subRoutes|fullPath)$/;
|
1669
1683
|
|
1670
1684
|
/**
|
1671
1685
|
* Route Context Object
|
@@ -1702,9 +1716,13 @@
|
|
1702
1716
|
}
|
1703
1717
|
// expose path and router
|
1704
1718
|
this.path = path;
|
1705
|
-
this.router = router;
|
1706
1719
|
// for internal use
|
1707
1720
|
this.matched = matched || router._notFoundHandler;
|
1721
|
+
// internal reference to router
|
1722
|
+
Object.defineProperty(this, 'router', {
|
1723
|
+
enumerable: false,
|
1724
|
+
value: router
|
1725
|
+
});
|
1708
1726
|
// Important: freeze self to prevent observation
|
1709
1727
|
Object.freeze(this);
|
1710
1728
|
};
|
@@ -1792,7 +1810,7 @@
|
|
1792
1810
|
var route = this.vm.$route;
|
1793
1811
|
/* istanbul ignore if */
|
1794
1812
|
if (!route) {
|
1795
|
-
warn('<router-view> can only be used inside a ' + 'router-enabled app.');
|
1813
|
+
warn$1('<router-view> can only be used inside a ' + 'router-enabled app.');
|
1796
1814
|
return;
|
1797
1815
|
}
|
1798
1816
|
// force dynamic directive so v-component doesn't
|
@@ -1857,39 +1875,62 @@
|
|
1857
1875
|
function Link (Vue) {
|
1858
1876
|
var _Vue$util = Vue.util;
|
1859
1877
|
var _bind = _Vue$util.bind;
|
1878
|
+
var getAttr = _Vue$util.getAttr;
|
1860
1879
|
var isObject = _Vue$util.isObject;
|
1861
1880
|
var addClass = _Vue$util.addClass;
|
1862
1881
|
var removeClass = _Vue$util.removeClass;
|
1863
1882
|
|
1883
|
+
var onPriority = Vue.directive('on').priority;
|
1884
|
+
var LINK_UPDATE = '__vue-router-link-update__';
|
1885
|
+
|
1886
|
+
var activeId = 0;
|
1887
|
+
|
1864
1888
|
Vue.directive('link-active', {
|
1865
|
-
priority:
|
1889
|
+
priority: 9999,
|
1866
1890
|
bind: function bind() {
|
1867
|
-
|
1891
|
+
var _this = this;
|
1892
|
+
|
1893
|
+
var id = String(activeId++);
|
1894
|
+
// collect v-links contained within this element.
|
1895
|
+
// we need do this here before the parent-child relationship
|
1896
|
+
// gets messed up by terminal directives (if, for, components)
|
1897
|
+
var childLinks = this.el.querySelectorAll('[v-link]');
|
1898
|
+
for (var i = 0, l = childLinks.length; i < l; i++) {
|
1899
|
+
var link = childLinks[i];
|
1900
|
+
var existingId = link.getAttribute(LINK_UPDATE);
|
1901
|
+
var value = existingId ? existingId + ',' + id : id;
|
1902
|
+
// leave a mark on the link element which can be persisted
|
1903
|
+
// through fragment clones.
|
1904
|
+
link.setAttribute(LINK_UPDATE, value);
|
1905
|
+
}
|
1906
|
+
this.vm.$on(LINK_UPDATE, this.cb = function (link, path) {
|
1907
|
+
if (link.activeIds.indexOf(id) > -1) {
|
1908
|
+
link.updateClasses(path, _this.el);
|
1909
|
+
}
|
1910
|
+
});
|
1911
|
+
},
|
1912
|
+
unbind: function unbind() {
|
1913
|
+
this.vm.$off(LINK_UPDATE, this.cb);
|
1868
1914
|
}
|
1869
1915
|
});
|
1870
1916
|
|
1871
1917
|
Vue.directive('link', {
|
1872
|
-
priority:
|
1918
|
+
priority: onPriority - 2,
|
1873
1919
|
|
1874
1920
|
bind: function bind() {
|
1875
1921
|
var vm = this.vm;
|
1876
1922
|
/* istanbul ignore if */
|
1877
1923
|
if (!vm.$route) {
|
1878
|
-
warn('v-link can only be used inside a router-enabled app.');
|
1924
|
+
warn$1('v-link can only be used inside a router-enabled app.');
|
1879
1925
|
return;
|
1880
1926
|
}
|
1881
1927
|
this.router = vm.$route.router;
|
1882
1928
|
// update things when the route changes
|
1883
1929
|
this.unwatch = vm.$watch('$route', _bind(this.onRouteUpdate, this));
|
1884
|
-
// check
|
1885
|
-
|
1886
|
-
|
1887
|
-
|
1888
|
-
if (parent.__v_link_active) {
|
1889
|
-
this.activeEl = parent;
|
1890
|
-
break;
|
1891
|
-
}
|
1892
|
-
parent = parent.parentNode;
|
1930
|
+
// check v-link-active ids
|
1931
|
+
var activeIds = getAttr(this.el, LINK_UPDATE);
|
1932
|
+
if (activeIds) {
|
1933
|
+
this.activeIds = activeIds.split(',');
|
1893
1934
|
}
|
1894
1935
|
// no need to handle click if link expects to be opened
|
1895
1936
|
// in a new window/tab.
|
@@ -1937,8 +1978,12 @@
|
|
1937
1978
|
}
|
1938
1979
|
if (el.tagName === 'A' && sameOrigin(el)) {
|
1939
1980
|
e.preventDefault();
|
1981
|
+
var path = el.pathname;
|
1982
|
+
if (this.router.history.root) {
|
1983
|
+
path = path.replace(this.router.history.rootRE, '');
|
1984
|
+
}
|
1940
1985
|
this.router.go({
|
1941
|
-
path:
|
1986
|
+
path: path,
|
1942
1987
|
replace: target && target.replace,
|
1943
1988
|
append: target && target.append
|
1944
1989
|
});
|
@@ -1947,15 +1992,19 @@
|
|
1947
1992
|
},
|
1948
1993
|
|
1949
1994
|
onRouteUpdate: function onRouteUpdate(route) {
|
1950
|
-
// router.
|
1995
|
+
// router.stringifyPath is dependent on current route
|
1951
1996
|
// and needs to be called again whenver route changes.
|
1952
|
-
var newPath = this.router.
|
1997
|
+
var newPath = this.router.stringifyPath(this.target);
|
1953
1998
|
if (this.path !== newPath) {
|
1954
1999
|
this.path = newPath;
|
1955
2000
|
this.updateActiveMatch();
|
1956
2001
|
this.updateHref();
|
1957
2002
|
}
|
1958
|
-
this.
|
2003
|
+
if (this.activeIds) {
|
2004
|
+
this.vm.$emit(LINK_UPDATE, this, route.path);
|
2005
|
+
} else {
|
2006
|
+
this.updateClasses(route.path, this.el);
|
2007
|
+
}
|
1959
2008
|
},
|
1960
2009
|
|
1961
2010
|
updateActiveMatch: function updateActiveMatch() {
|
@@ -1978,12 +2027,11 @@
|
|
1978
2027
|
}
|
1979
2028
|
},
|
1980
2029
|
|
1981
|
-
updateClasses: function updateClasses(path) {
|
1982
|
-
var el = this.activeEl;
|
2030
|
+
updateClasses: function updateClasses(path, el) {
|
1983
2031
|
var activeClass = this.activeClass || this.router._linkActiveClass;
|
1984
2032
|
// clear old class
|
1985
|
-
if (this.prevActiveClass !== activeClass) {
|
1986
|
-
|
2033
|
+
if (this.prevActiveClass && this.prevActiveClass !== activeClass) {
|
2034
|
+
toggleClasses(el, this.prevActiveClass, removeClass);
|
1987
2035
|
}
|
1988
2036
|
// remove query string before matching
|
1989
2037
|
var dest = this.path.replace(queryStringRE, '');
|
@@ -1993,15 +2041,15 @@
|
|
1993
2041
|
if (dest === path ||
|
1994
2042
|
// also allow additional trailing slash
|
1995
2043
|
dest.charAt(dest.length - 1) !== '/' && dest === path.replace(trailingSlashRE, '')) {
|
1996
|
-
|
2044
|
+
toggleClasses(el, activeClass, addClass);
|
1997
2045
|
} else {
|
1998
|
-
|
2046
|
+
toggleClasses(el, activeClass, removeClass);
|
1999
2047
|
}
|
2000
2048
|
} else {
|
2001
2049
|
if (this.activeRE && this.activeRE.test(path)) {
|
2002
|
-
|
2050
|
+
toggleClasses(el, activeClass, addClass);
|
2003
2051
|
} else {
|
2004
|
-
|
2052
|
+
toggleClasses(el, activeClass, removeClass);
|
2005
2053
|
}
|
2006
2054
|
}
|
2007
2055
|
},
|
@@ -2015,6 +2063,20 @@
|
|
2015
2063
|
function sameOrigin(link) {
|
2016
2064
|
return link.protocol === location.protocol && link.hostname === location.hostname && link.port === location.port;
|
2017
2065
|
}
|
2066
|
+
|
2067
|
+
// this function is copied from v-bind:class implementation until
|
2068
|
+
// we properly expose it...
|
2069
|
+
function toggleClasses(el, key, fn) {
|
2070
|
+
key = key.trim();
|
2071
|
+
if (key.indexOf(' ') === -1) {
|
2072
|
+
fn(el, key);
|
2073
|
+
return;
|
2074
|
+
}
|
2075
|
+
var keys = key.split(/\s+/);
|
2076
|
+
for (var i = 0, l = keys.length; i < l; i++) {
|
2077
|
+
fn(el, keys[i]);
|
2078
|
+
}
|
2079
|
+
}
|
2018
2080
|
}
|
2019
2081
|
|
2020
2082
|
var historyBackends = {
|
@@ -2223,7 +2285,7 @@
|
|
2223
2285
|
replace = path.replace;
|
2224
2286
|
append = path.append;
|
2225
2287
|
}
|
2226
|
-
path = this.
|
2288
|
+
path = this.stringifyPath(path);
|
2227
2289
|
if (path) {
|
2228
2290
|
this.history.go(path, replace, append);
|
2229
2291
|
}
|
@@ -2254,7 +2316,7 @@
|
|
2254
2316
|
Router.prototype.start = function start(App, container, cb) {
|
2255
2317
|
/* istanbul ignore if */
|
2256
2318
|
if (this._started) {
|
2257
|
-
warn('already started.');
|
2319
|
+
warn$1('already started.');
|
2258
2320
|
return;
|
2259
2321
|
}
|
2260
2322
|
this._started = true;
|
@@ -2298,6 +2360,41 @@
|
|
2298
2360
|
this._started = false;
|
2299
2361
|
};
|
2300
2362
|
|
2363
|
+
/**
|
2364
|
+
* Normalize named route object / string paths into
|
2365
|
+
* a string.
|
2366
|
+
*
|
2367
|
+
* @param {Object|String|Number} path
|
2368
|
+
* @return {String}
|
2369
|
+
*/
|
2370
|
+
|
2371
|
+
Router.prototype.stringifyPath = function stringifyPath(path) {
|
2372
|
+
var generatedPath = '';
|
2373
|
+
if (path && typeof path === 'object') {
|
2374
|
+
if (path.name) {
|
2375
|
+
var extend = Vue.util.extend;
|
2376
|
+
var currentParams = this._currentTransition && this._currentTransition.to.params;
|
2377
|
+
var targetParams = path.params || {};
|
2378
|
+
var params = currentParams ? extend(extend({}, currentParams), targetParams) : targetParams;
|
2379
|
+
generatedPath = encodeURI(this._recognizer.generate(path.name, params));
|
2380
|
+
} else if (path.path) {
|
2381
|
+
generatedPath = encodeURI(path.path);
|
2382
|
+
}
|
2383
|
+
if (path.query) {
|
2384
|
+
// note: the generated query string is pre-URL-encoded by the recognizer
|
2385
|
+
var query = this._recognizer.generateQueryString(path.query);
|
2386
|
+
if (generatedPath.indexOf('?') > -1) {
|
2387
|
+
generatedPath += '&' + query.slice(1);
|
2388
|
+
} else {
|
2389
|
+
generatedPath += query;
|
2390
|
+
}
|
2391
|
+
}
|
2392
|
+
} else {
|
2393
|
+
generatedPath = encodeURI(path ? path + '' : '');
|
2394
|
+
}
|
2395
|
+
return generatedPath;
|
2396
|
+
};
|
2397
|
+
|
2301
2398
|
// Internal methods ======================================
|
2302
2399
|
|
2303
2400
|
/**
|
@@ -2400,7 +2497,7 @@
|
|
2400
2497
|
*/
|
2401
2498
|
|
2402
2499
|
Router.prototype._checkGuard = function _checkGuard(path) {
|
2403
|
-
var matched = this._guardRecognizer.recognize(path);
|
2500
|
+
var matched = this._guardRecognizer.recognize(path, true);
|
2404
2501
|
if (matched) {
|
2405
2502
|
matched[0].handler(matched[0], matched.queryParams);
|
2406
2503
|
return true;
|
@@ -2563,43 +2660,6 @@
|
|
2563
2660
|
}
|
2564
2661
|
};
|
2565
2662
|
|
2566
|
-
/**
|
2567
|
-
* Normalize named route object / string paths into
|
2568
|
-
* a string.
|
2569
|
-
*
|
2570
|
-
* @param {Object|String|Number} path
|
2571
|
-
* @return {String}
|
2572
|
-
*/
|
2573
|
-
|
2574
|
-
Router.prototype._stringifyPath = function _stringifyPath(path) {
|
2575
|
-
var fullPath = '';
|
2576
|
-
if (path && typeof path === 'object') {
|
2577
|
-
if (path.name) {
|
2578
|
-
var extend = Vue.util.extend;
|
2579
|
-
var currentParams = this._currentTransition && this._currentTransition.to.params;
|
2580
|
-
var targetParams = path.params || {};
|
2581
|
-
var params = currentParams ? extend(extend({}, currentParams), targetParams) : targetParams;
|
2582
|
-
if (path.query) {
|
2583
|
-
params.queryParams = path.query;
|
2584
|
-
}
|
2585
|
-
fullPath = this._recognizer.generate(path.name, params);
|
2586
|
-
} else if (path.path) {
|
2587
|
-
fullPath = path.path;
|
2588
|
-
if (path.query) {
|
2589
|
-
var query = this._recognizer.generateQueryString(path.query);
|
2590
|
-
if (fullPath.indexOf('?') > -1) {
|
2591
|
-
fullPath += '&' + query.slice(1);
|
2592
|
-
} else {
|
2593
|
-
fullPath += query;
|
2594
|
-
}
|
2595
|
-
}
|
2596
|
-
}
|
2597
|
-
} else {
|
2598
|
-
fullPath = path ? path + '' : '';
|
2599
|
-
}
|
2600
|
-
return encodeURI(fullPath);
|
2601
|
-
};
|
2602
|
-
|
2603
2663
|
return Router;
|
2604
2664
|
})();
|
2605
2665
|
|
@@ -2611,7 +2671,7 @@
|
|
2611
2671
|
/* istanbul ignore if */
|
2612
2672
|
if (typeof comp !== 'function') {
|
2613
2673
|
handler.component = null;
|
2614
|
-
warn('invalid component for route "' + path + '".');
|
2674
|
+
warn$1('invalid component for route "' + path + '".');
|
2615
2675
|
}
|
2616
2676
|
}
|
2617
2677
|
|
@@ -2627,7 +2687,7 @@
|
|
2627
2687
|
Router.install = function (externalVue) {
|
2628
2688
|
/* istanbul ignore if */
|
2629
2689
|
if (Router.installed) {
|
2630
|
-
warn('already installed.');
|
2690
|
+
warn$1('already installed.');
|
2631
2691
|
return;
|
2632
2692
|
}
|
2633
2693
|
Vue = externalVue;
|
@@ -2646,4 +2706,4 @@
|
|
2646
2706
|
|
2647
2707
|
return Router;
|
2648
2708
|
|
2649
|
-
}));
|
2709
|
+
}));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vuejs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Lim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|