rails-backbone 0.8.0 → 0.9.0
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.
- data/README.md +2 -2
- data/lib/generators/backbone/router/templates/view.coffee +1 -1
- data/lib/generators/backbone/scaffold/templates/templates/edit.jst +1 -1
- data/lib/generators/backbone/scaffold/templates/views/edit_view.coffee +7 -7
- data/lib/generators/backbone/scaffold/templates/views/index_view.coffee +1 -1
- data/lib/generators/backbone/scaffold/templates/views/model_view.coffee +1 -1
- data/lib/generators/backbone/scaffold/templates/views/new_view.coffee +1 -1
- data/lib/generators/backbone/scaffold/templates/views/show_view.coffee +1 -1
- data/vendor/assets/javascripts/backbone.js +543 -441
- data/vendor/assets/javascripts/underscore.js +87 -52
- metadata +82 -27
@@ -1,4 +1,4 @@
|
|
1
|
-
// Underscore.js 1.4.
|
1
|
+
// Underscore.js 1.4.3
|
2
2
|
// http://underscorejs.org
|
3
3
|
// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
|
4
4
|
// Underscore may be freely distributed under the MIT license.
|
@@ -24,7 +24,6 @@
|
|
24
24
|
var push = ArrayProto.push,
|
25
25
|
slice = ArrayProto.slice,
|
26
26
|
concat = ArrayProto.concat,
|
27
|
-
unshift = ArrayProto.unshift,
|
28
27
|
toString = ObjProto.toString,
|
29
28
|
hasOwnProperty = ObjProto.hasOwnProperty;
|
30
29
|
|
@@ -61,11 +60,11 @@
|
|
61
60
|
}
|
62
61
|
exports._ = _;
|
63
62
|
} else {
|
64
|
-
root
|
63
|
+
root._ = _;
|
65
64
|
}
|
66
65
|
|
67
66
|
// Current version.
|
68
|
-
_.VERSION = '1.4.
|
67
|
+
_.VERSION = '1.4.3';
|
69
68
|
|
70
69
|
// Collection Functions
|
71
70
|
// --------------------
|
@@ -74,6 +73,7 @@
|
|
74
73
|
// Handles objects with the built-in `forEach`, arrays, and raw objects.
|
75
74
|
// Delegates to **ECMAScript 5**'s native `forEach` if available.
|
76
75
|
var each = _.each = _.forEach = function(obj, iterator, context) {
|
76
|
+
if (obj == null) return;
|
77
77
|
if (nativeForEach && obj.forEach === nativeForEach) {
|
78
78
|
obj.forEach(iterator, context);
|
79
79
|
} else if (obj.length === +obj.length) {
|
@@ -93,6 +93,7 @@
|
|
93
93
|
// Delegates to **ECMAScript 5**'s native `map` if available.
|
94
94
|
_.map = _.collect = function(obj, iterator, context) {
|
95
95
|
var results = [];
|
96
|
+
if (obj == null) return results;
|
96
97
|
if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
|
97
98
|
each(obj, function(value, index, list) {
|
98
99
|
results[results.length] = iterator.call(context, value, index, list);
|
@@ -100,10 +101,13 @@
|
|
100
101
|
return results;
|
101
102
|
};
|
102
103
|
|
104
|
+
var reduceError = 'Reduce of empty array with no initial value';
|
105
|
+
|
103
106
|
// **Reduce** builds up a single result from a list of values, aka `inject`,
|
104
107
|
// or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
|
105
108
|
_.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
|
106
109
|
var initial = arguments.length > 2;
|
110
|
+
if (obj == null) obj = [];
|
107
111
|
if (nativeReduce && obj.reduce === nativeReduce) {
|
108
112
|
if (context) iterator = _.bind(iterator, context);
|
109
113
|
return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
|
@@ -116,7 +120,7 @@
|
|
116
120
|
memo = iterator.call(context, memo, value, index, list);
|
117
121
|
}
|
118
122
|
});
|
119
|
-
if (!initial) throw new TypeError(
|
123
|
+
if (!initial) throw new TypeError(reduceError);
|
120
124
|
return memo;
|
121
125
|
};
|
122
126
|
|
@@ -124,9 +128,10 @@
|
|
124
128
|
// Delegates to **ECMAScript 5**'s native `reduceRight` if available.
|
125
129
|
_.reduceRight = _.foldr = function(obj, iterator, memo, context) {
|
126
130
|
var initial = arguments.length > 2;
|
131
|
+
if (obj == null) obj = [];
|
127
132
|
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
|
128
133
|
if (context) iterator = _.bind(iterator, context);
|
129
|
-
return
|
134
|
+
return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
|
130
135
|
}
|
131
136
|
var length = obj.length;
|
132
137
|
if (length !== +length) {
|
@@ -142,7 +147,7 @@
|
|
142
147
|
memo = iterator.call(context, memo, obj[index], index, list);
|
143
148
|
}
|
144
149
|
});
|
145
|
-
if (!initial) throw new TypeError(
|
150
|
+
if (!initial) throw new TypeError(reduceError);
|
146
151
|
return memo;
|
147
152
|
};
|
148
153
|
|
@@ -163,6 +168,7 @@
|
|
163
168
|
// Aliased as `select`.
|
164
169
|
_.filter = _.select = function(obj, iterator, context) {
|
165
170
|
var results = [];
|
171
|
+
if (obj == null) return results;
|
166
172
|
if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
|
167
173
|
each(obj, function(value, index, list) {
|
168
174
|
if (iterator.call(context, value, index, list)) results[results.length] = value;
|
@@ -172,11 +178,9 @@
|
|
172
178
|
|
173
179
|
// Return all the elements for which a truth test fails.
|
174
180
|
_.reject = function(obj, iterator, context) {
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
});
|
179
|
-
return results;
|
181
|
+
return _.filter(obj, function(value, index, list) {
|
182
|
+
return !iterator.call(context, value, index, list);
|
183
|
+
}, context);
|
180
184
|
};
|
181
185
|
|
182
186
|
// Determine whether all of the elements match a truth test.
|
@@ -185,6 +189,7 @@
|
|
185
189
|
_.every = _.all = function(obj, iterator, context) {
|
186
190
|
iterator || (iterator = _.identity);
|
187
191
|
var result = true;
|
192
|
+
if (obj == null) return result;
|
188
193
|
if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
|
189
194
|
each(obj, function(value, index, list) {
|
190
195
|
if (!(result = result && iterator.call(context, value, index, list))) return breaker;
|
@@ -198,6 +203,7 @@
|
|
198
203
|
var any = _.some = _.any = function(obj, iterator, context) {
|
199
204
|
iterator || (iterator = _.identity);
|
200
205
|
var result = false;
|
206
|
+
if (obj == null) return result;
|
201
207
|
if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
|
202
208
|
each(obj, function(value, index, list) {
|
203
209
|
if (result || (result = iterator.call(context, value, index, list))) return breaker;
|
@@ -208,12 +214,11 @@
|
|
208
214
|
// Determine if the array or object contains a given value (using `===`).
|
209
215
|
// Aliased as `include`.
|
210
216
|
_.contains = _.include = function(obj, target) {
|
211
|
-
|
217
|
+
if (obj == null) return false;
|
212
218
|
if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
|
213
|
-
|
219
|
+
return any(obj, function(value) {
|
214
220
|
return value === target;
|
215
221
|
});
|
216
|
-
return found;
|
217
222
|
};
|
218
223
|
|
219
224
|
// Invoke a method (with arguments) on every item in a collection.
|
@@ -249,7 +254,7 @@
|
|
249
254
|
return Math.max.apply(Math, obj);
|
250
255
|
}
|
251
256
|
if (!iterator && _.isEmpty(obj)) return -Infinity;
|
252
|
-
var result = {computed : -Infinity};
|
257
|
+
var result = {computed : -Infinity, value: -Infinity};
|
253
258
|
each(obj, function(value, index, list) {
|
254
259
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
255
260
|
computed >= result.computed && (result = {value : value, computed : computed});
|
@@ -263,7 +268,7 @@
|
|
263
268
|
return Math.min.apply(Math, obj);
|
264
269
|
}
|
265
270
|
if (!iterator && _.isEmpty(obj)) return Infinity;
|
266
|
-
var result = {computed : Infinity};
|
271
|
+
var result = {computed : Infinity, value: Infinity};
|
267
272
|
each(obj, function(value, index, list) {
|
268
273
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
269
274
|
computed < result.computed && (result = {value : value, computed : computed});
|
@@ -312,7 +317,7 @@
|
|
312
317
|
// An internal function used for aggregate "group by" operations.
|
313
318
|
var group = function(obj, value, context, behavior) {
|
314
319
|
var result = {};
|
315
|
-
var iterator = lookupIterator(value);
|
320
|
+
var iterator = lookupIterator(value || _.identity);
|
316
321
|
each(obj, function(value, index) {
|
317
322
|
var key = iterator.call(context, value, index, obj);
|
318
323
|
behavior(result, key, value);
|
@@ -332,7 +337,7 @@
|
|
332
337
|
// either a string attribute to count by, or a function that returns the
|
333
338
|
// criterion.
|
334
339
|
_.countBy = function(obj, value, context) {
|
335
|
-
return group(obj, value, context, function(result, key
|
340
|
+
return group(obj, value, context, function(result, key) {
|
336
341
|
if (!_.has(result, key)) result[key] = 0;
|
337
342
|
result[key]++;
|
338
343
|
});
|
@@ -354,12 +359,14 @@
|
|
354
359
|
// Safely convert anything iterable into a real, live array.
|
355
360
|
_.toArray = function(obj) {
|
356
361
|
if (!obj) return [];
|
357
|
-
if (
|
362
|
+
if (_.isArray(obj)) return slice.call(obj);
|
363
|
+
if (obj.length === +obj.length) return _.map(obj, _.identity);
|
358
364
|
return _.values(obj);
|
359
365
|
};
|
360
366
|
|
361
367
|
// Return the number of elements in an object.
|
362
368
|
_.size = function(obj) {
|
369
|
+
if (obj == null) return 0;
|
363
370
|
return (obj.length === +obj.length) ? obj.length : _.keys(obj).length;
|
364
371
|
};
|
365
372
|
|
@@ -370,6 +377,7 @@
|
|
370
377
|
// values in the array. Aliased as `head` and `take`. The **guard** check
|
371
378
|
// allows it to work with `_.map`.
|
372
379
|
_.first = _.head = _.take = function(array, n, guard) {
|
380
|
+
if (array == null) return void 0;
|
373
381
|
return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
|
374
382
|
};
|
375
383
|
|
@@ -384,6 +392,7 @@
|
|
384
392
|
// Get the last element of an array. Passing **n** will return the last N
|
385
393
|
// values in the array. The **guard** check allows it to work with `_.map`.
|
386
394
|
_.last = function(array, n, guard) {
|
395
|
+
if (array == null) return void 0;
|
387
396
|
if ((n != null) && !guard) {
|
388
397
|
return slice.call(array, Math.max(array.length - n, 0));
|
389
398
|
} else {
|
@@ -401,7 +410,7 @@
|
|
401
410
|
|
402
411
|
// Trim out all falsy values from an array.
|
403
412
|
_.compact = function(array) {
|
404
|
-
return _.filter(array,
|
413
|
+
return _.filter(array, _.identity);
|
405
414
|
};
|
406
415
|
|
407
416
|
// Internal implementation of a recursive `flatten` function.
|
@@ -430,6 +439,11 @@
|
|
430
439
|
// been sorted, you have the option of using a faster algorithm.
|
431
440
|
// Aliased as `unique`.
|
432
441
|
_.uniq = _.unique = function(array, isSorted, iterator, context) {
|
442
|
+
if (_.isFunction(isSorted)) {
|
443
|
+
context = iterator;
|
444
|
+
iterator = isSorted;
|
445
|
+
isSorted = false;
|
446
|
+
}
|
433
447
|
var initial = iterator ? _.map(array, iterator, context) : array;
|
434
448
|
var results = [];
|
435
449
|
var seen = [];
|
@@ -482,6 +496,7 @@
|
|
482
496
|
// pairs, or two parallel arrays of the same length -- one of keys, and one of
|
483
497
|
// the corresponding values.
|
484
498
|
_.object = function(list, values) {
|
499
|
+
if (list == null) return {};
|
485
500
|
var result = {};
|
486
501
|
for (var i = 0, l = list.length; i < l; i++) {
|
487
502
|
if (values) {
|
@@ -500,6 +515,7 @@
|
|
500
515
|
// If the array is large and already in sort order, pass `true`
|
501
516
|
// for **isSorted** to use binary search.
|
502
517
|
_.indexOf = function(array, item, isSorted) {
|
518
|
+
if (array == null) return -1;
|
503
519
|
var i = 0, l = array.length;
|
504
520
|
if (isSorted) {
|
505
521
|
if (typeof isSorted == 'number') {
|
@@ -515,9 +531,13 @@
|
|
515
531
|
};
|
516
532
|
|
517
533
|
// Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
|
518
|
-
_.lastIndexOf = function(array, item,
|
519
|
-
if (
|
520
|
-
var
|
534
|
+
_.lastIndexOf = function(array, item, from) {
|
535
|
+
if (array == null) return -1;
|
536
|
+
var hasIndex = from != null;
|
537
|
+
if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) {
|
538
|
+
return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item);
|
539
|
+
}
|
540
|
+
var i = (hasIndex ? from : array.length);
|
521
541
|
while (i--) if (array[i] === item) return i;
|
522
542
|
return -1;
|
523
543
|
};
|
@@ -554,8 +574,8 @@
|
|
554
574
|
// optionally). Binding with arguments is also known as `curry`.
|
555
575
|
// Delegates to **ECMAScript 5**'s native `Function.bind` if available.
|
556
576
|
// We check for `func.bind` first, to fail fast when `func` is undefined.
|
557
|
-
_.bind = function
|
558
|
-
var
|
577
|
+
_.bind = function(func, context) {
|
578
|
+
var args, bound;
|
559
579
|
if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
|
560
580
|
if (!_.isFunction(func)) throw new TypeError;
|
561
581
|
args = slice.call(arguments, 2);
|
@@ -563,6 +583,7 @@
|
|
563
583
|
if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
|
564
584
|
ctor.prototype = func.prototype;
|
565
585
|
var self = new ctor;
|
586
|
+
ctor.prototype = null;
|
566
587
|
var result = func.apply(self, args.concat(slice.call(arguments)));
|
567
588
|
if (Object(result) === result) return result;
|
568
589
|
return self;
|
@@ -604,25 +625,26 @@
|
|
604
625
|
// Returns a function, that, when invoked, will only be triggered at most once
|
605
626
|
// during a given window of time.
|
606
627
|
_.throttle = function(func, wait) {
|
607
|
-
var context, args, timeout,
|
608
|
-
var
|
628
|
+
var context, args, timeout, result;
|
629
|
+
var previous = 0;
|
630
|
+
var later = function() {
|
631
|
+
previous = new Date;
|
632
|
+
timeout = null;
|
633
|
+
result = func.apply(context, args);
|
634
|
+
};
|
609
635
|
return function() {
|
610
|
-
|
611
|
-
var
|
636
|
+
var now = new Date;
|
637
|
+
var remaining = wait - (now - previous);
|
638
|
+
context = this;
|
639
|
+
args = arguments;
|
640
|
+
if (remaining <= 0) {
|
641
|
+
clearTimeout(timeout);
|
612
642
|
timeout = null;
|
613
|
-
|
614
|
-
result = func.apply(context, args);
|
615
|
-
}
|
616
|
-
whenDone();
|
617
|
-
};
|
618
|
-
if (!timeout) timeout = setTimeout(later, wait);
|
619
|
-
if (throttling) {
|
620
|
-
more = true;
|
621
|
-
} else {
|
622
|
-
throttling = true;
|
643
|
+
previous = now;
|
623
644
|
result = func.apply(context, args);
|
645
|
+
} else if (!timeout) {
|
646
|
+
timeout = setTimeout(later, remaining);
|
624
647
|
}
|
625
|
-
whenDone();
|
626
648
|
return result;
|
627
649
|
};
|
628
650
|
};
|
@@ -740,8 +762,10 @@
|
|
740
762
|
// Extend a given object with all the properties in passed-in object(s).
|
741
763
|
_.extend = function(obj) {
|
742
764
|
each(slice.call(arguments, 1), function(source) {
|
743
|
-
|
744
|
-
|
765
|
+
if (source) {
|
766
|
+
for (var prop in source) {
|
767
|
+
obj[prop] = source[prop];
|
768
|
+
}
|
745
769
|
}
|
746
770
|
});
|
747
771
|
return obj;
|
@@ -770,8 +794,10 @@
|
|
770
794
|
// Fill in a given object with default properties.
|
771
795
|
_.defaults = function(obj) {
|
772
796
|
each(slice.call(arguments, 1), function(source) {
|
773
|
-
|
774
|
-
|
797
|
+
if (source) {
|
798
|
+
for (var prop in source) {
|
799
|
+
if (obj[prop] == null) obj[prop] = source[prop];
|
800
|
+
}
|
775
801
|
}
|
776
802
|
});
|
777
803
|
return obj;
|
@@ -936,7 +962,7 @@
|
|
936
962
|
|
937
963
|
// Is a given object a finite number?
|
938
964
|
_.isFinite = function(obj) {
|
939
|
-
return
|
965
|
+
return isFinite(obj) && !isNaN(parseFloat(obj));
|
940
966
|
};
|
941
967
|
|
942
968
|
// Is the given value `NaN`? (NaN is the only number which does not equal itself).
|
@@ -982,7 +1008,9 @@
|
|
982
1008
|
|
983
1009
|
// Run a function **n** times.
|
984
1010
|
_.times = function(n, iterator, context) {
|
985
|
-
|
1011
|
+
var accum = Array(n);
|
1012
|
+
for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i);
|
1013
|
+
return accum;
|
986
1014
|
};
|
987
1015
|
|
988
1016
|
// Return a random integer between min and max (inclusive).
|
@@ -1047,7 +1075,7 @@
|
|
1047
1075
|
// Useful for temporary DOM ids.
|
1048
1076
|
var idCounter = 0;
|
1049
1077
|
_.uniqueId = function(prefix) {
|
1050
|
-
var id = idCounter
|
1078
|
+
var id = '' + ++idCounter;
|
1051
1079
|
return prefix ? prefix + id : id;
|
1052
1080
|
};
|
1053
1081
|
|
@@ -1097,11 +1125,18 @@
|
|
1097
1125
|
text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
|
1098
1126
|
source += text.slice(index, offset)
|
1099
1127
|
.replace(escaper, function(match) { return '\\' + escapes[match]; });
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1128
|
+
|
1129
|
+
if (escape) {
|
1130
|
+
source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
|
1131
|
+
}
|
1132
|
+
if (interpolate) {
|
1133
|
+
source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
|
1134
|
+
}
|
1135
|
+
if (evaluate) {
|
1136
|
+
source += "';\n" + evaluate + "\n__p+='";
|
1137
|
+
}
|
1104
1138
|
index = offset + match.length;
|
1139
|
+
return match;
|
1105
1140
|
});
|
1106
1141
|
source += "';\n";
|
1107
1142
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-backbone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-12-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: railties
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: 3.1.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 3.1.0
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: coffee-script
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ~>
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: 2.2.0
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.2.0
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: jquery-rails
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ~>
|
@@ -44,10 +54,15 @@ dependencies:
|
|
44
54
|
version: 2.1.3
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.1.3
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: ejs
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ~>
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: 1.1.1
|
56
71
|
type: :runtime
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.1.1
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: rails
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ~>
|
@@ -66,10 +86,15 @@ dependencies:
|
|
66
86
|
version: 3.2.0
|
67
87
|
type: :development
|
68
88
|
prerelease: false
|
69
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ~>
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 3.2.0
|
70
95
|
- !ruby/object:Gem::Dependency
|
71
96
|
name: sqlite3
|
72
|
-
requirement:
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
73
98
|
none: false
|
74
99
|
requirements:
|
75
100
|
- - ! '>='
|
@@ -77,10 +102,15 @@ dependencies:
|
|
77
102
|
version: '0'
|
78
103
|
type: :development
|
79
104
|
prerelease: false
|
80
|
-
version_requirements:
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
81
111
|
- !ruby/object:Gem::Dependency
|
82
112
|
name: sass
|
83
|
-
requirement:
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
84
114
|
none: false
|
85
115
|
requirements:
|
86
116
|
- - ! '>='
|
@@ -88,10 +118,15 @@ dependencies:
|
|
88
118
|
version: '0'
|
89
119
|
type: :development
|
90
120
|
prerelease: false
|
91
|
-
version_requirements:
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
92
127
|
- !ruby/object:Gem::Dependency
|
93
128
|
name: uglifier
|
94
|
-
requirement:
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
95
130
|
none: false
|
96
131
|
requirements:
|
97
132
|
- - ! '>='
|
@@ -99,10 +134,15 @@ dependencies:
|
|
99
134
|
version: '0'
|
100
135
|
type: :development
|
101
136
|
prerelease: false
|
102
|
-
version_requirements:
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
103
143
|
- !ruby/object:Gem::Dependency
|
104
144
|
name: mocha
|
105
|
-
requirement:
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
106
146
|
none: false
|
107
147
|
requirements:
|
108
148
|
- - ~>
|
@@ -110,10 +150,15 @@ dependencies:
|
|
110
150
|
version: 0.10.3
|
111
151
|
type: :development
|
112
152
|
prerelease: false
|
113
|
-
version_requirements:
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ~>
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.10.3
|
114
159
|
- !ruby/object:Gem::Dependency
|
115
160
|
name: turn
|
116
|
-
requirement:
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
117
162
|
none: false
|
118
163
|
requirements:
|
119
164
|
- - ~>
|
@@ -121,10 +166,15 @@ dependencies:
|
|
121
166
|
version: 0.8.3
|
122
167
|
type: :development
|
123
168
|
prerelease: false
|
124
|
-
version_requirements:
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
171
|
+
requirements:
|
172
|
+
- - ~>
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 0.8.3
|
125
175
|
- !ruby/object:Gem::Dependency
|
126
176
|
name: minitest
|
127
|
-
requirement:
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
128
178
|
none: false
|
129
179
|
requirements:
|
130
180
|
- - ~>
|
@@ -132,7 +182,12 @@ dependencies:
|
|
132
182
|
version: 2.10.1
|
133
183
|
type: :development
|
134
184
|
prerelease: false
|
135
|
-
version_requirements:
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ~>
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 2.10.1
|
136
191
|
description: Quickly setup backbone.js for use with rails 3.1. Generators are provided
|
137
192
|
to quickly get started.
|
138
193
|
email:
|
@@ -187,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
187
242
|
version: '0'
|
188
243
|
segments:
|
189
244
|
- 0
|
190
|
-
hash:
|
245
|
+
hash: 1886977708027563026
|
191
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
247
|
none: false
|
193
248
|
requirements:
|
@@ -196,10 +251,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
251
|
version: '0'
|
197
252
|
segments:
|
198
253
|
- 0
|
199
|
-
hash:
|
254
|
+
hash: 1886977708027563026
|
200
255
|
requirements: []
|
201
256
|
rubyforge_project:
|
202
|
-
rubygems_version: 1.8.
|
257
|
+
rubygems_version: 1.8.23
|
203
258
|
signing_key:
|
204
259
|
specification_version: 3
|
205
260
|
summary: Use backbone.js with rails 3.1
|