backbone-associations-rails 0.5.0 → 0.5.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: abd58fef96949769b37a9b98136f2a6aad8e0de9
4
+ data.tar.gz: 937a1bb67d05f760e29928f6e405d1d0d61b87ef
5
+ SHA512:
6
+ metadata.gz: aab0db6c820e97aec0ddf227affdd54c61a8e27bad634c8f0ea527dd328c6f81dba2a6f1de5bc5ffddebec2f7e2403c4d7670a9fb26fbe696325b9cf677c9dc2
7
+ data.tar.gz: 1d43bdb49062eb4a108fa4bc81d94da2005bd39e70cfafd95315d96b5917bffb71ae92fe33f3e60f785b48bf5a0e1c92ab2aa039ec3e531fad2cc048b4896de5
data/Rakefile CHANGED
@@ -47,11 +47,14 @@ namespace :backbone_associations do
47
47
  # Update backbone-associations
48
48
  puts "Updating backbone-associations..."
49
49
  base_url = "https://raw.github.com/dhruvaray/backbone-associations/#{sha}"
50
- files = %w{backbone-associations.js backbone-associations-min.js}
50
+ files = %w{backbone-associations.js backbone-associations-min.js backbone-associations.js.map}
51
51
  Dir.chdir './vendor/assets/javascripts' do
52
52
  files.each {|file| `curl -O #{base_url}/#{file}`}
53
53
  end
54
54
 
55
+ # Fix the .map file's name so the asset pipeline doesn't choke on it
56
+ `mv ./vendor/assets/javascripts/backbone-associations.js.map ./vendor/assets/javascripts/backbone-associations.map`
57
+
55
58
  # Update version file
56
59
  puts "Updating version.rb..."
57
60
  `sed -i "" "s/ VERSION = '.*'/ VERSION = '#{name}'/g" lib/backbone-associations-rails/version.rb`
@@ -16,4 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
+ gem.license = 'MIT'
19
20
  end
@@ -1,7 +1,7 @@
1
1
  module Backbone
2
2
  module Associations
3
3
  module Rails
4
- VERSION = '0.5.0'
4
+ VERSION = '0.5.1.1'
5
5
  end
6
6
  end
7
7
  end
@@ -1,11 +1,12 @@
1
- (function(){var v=this,g,h,w,m,r,s,z,o,A,B;"undefined"===typeof window?(g=require("underscore"),h=require("backbone"),"undefined"!==typeof exports&&(exports=module.exports=h)):(g=v._,h=v.Backbone);w=h.Model;m=h.Collection;r=w.prototype;s=m.prototype;A=/[\.\[\]]+/g;z="change add remove reset sort destroy".split(" ");B=["reset","sort"];h.Associations={VERSION:"0.5.0"};h.Associations.Many=h.Many="Many";h.Associations.One=h.One="One";o=h.AssociatedModel=h.Associations.AssociatedModel=w.extend({relations:void 0,
2
- _proxyCalls:void 0,get:function(a){var c=r.get.call(this,a);return c?c:this._getAttr.apply(this,arguments)},set:function(a,c,d){var b;if(g.isObject(a)||a==null){b=a;d=c}else{b={};b[a]=c}a=this._set(b,d);this._processPendingEvents();return a},_set:function(a,c){var d,b,n,f,j=this;if(!a)return this;for(d in a){b||(b={});if(d.match(A)){var k=x(d);f=g.initial(k);k=k[k.length-1];f=this.get(f);if(f instanceof o){f=b[f.cid]||(b[f.cid]={model:f,data:{}});f.data[k]=a[d]}}else{f=b[this.cid]||(b[this.cid]={model:this,
3
- data:{}});f.data[d]=a[d]}}if(b)for(n in b){f=b[n];this._setAttr.call(f.model,f.data,c)||(j=false)}else j=this._setAttr.call(this,a,c);return j},_setAttr:function(a,c){var d;c||(c={});if(c.unset)for(d in a)a[d]=void 0;this.parents=this.parents||[];this.relations&&g.each(this.relations,function(b){var d=b.key,f=b.relatedModel,j=b.collectionType,k=b.map,i=this.attributes[d],y=i&&i.idAttribute,e,q,l,p;f&&g.isString(f)&&(f=t(f));j&&g.isString(j)&&(j=t(j));k&&g.isString(k)&&(k=t(k));q=b.options?g.extend({},
4
- b.options,c):c;if(a[d]){e=g.result(a,d);e=k?k(e):e;if(b.type===h.Many){if(j&&!j.prototype instanceof m)throw Error("collectionType must inherit from Backbone.Collection");if(e instanceof m)l=e;else if(i){i._deferEvents=true;i.set(e,c);l=i}else{l=j?new j:this._createCollection(f);l.add(e,q)}}else if(b.type===h.One&&f)if(e instanceof o)l=e;else if(i)if(i&&e[y]&&i.get(y)===e[y]){i._deferEvents=true;i._set(e,c);l=i}else l=new f(e,q);else l=new f(e,q);if((p=a[d]=l)&&!p._proxyCallback){p._proxyCallback=
5
- function(){return this._bubbleEvent.call(this,d,p,arguments)};p.on("all",p._proxyCallback,this)}}if(a.hasOwnProperty(d)){b=a[d];f=this.attributes[d];if(b){b.parents=b.parents||[];g.indexOf(b.parents,this)==-1&&b.parents.push(this)}else if(f&&f.parents.length>0)f.parents=g.difference(f.parents,[this])}},this);return r.set.call(this,a,c)},_bubbleEvent:function(a,c,d){var b=d[0].split(":"),n=b[0],f=d[0]=="nested-change",j=d[1],k=d[2],i=-1,h=c._proxyCalls,e,q=g.indexOf(z,n)!==-1;if(!f){g.size(b)>1&&(e=
6
- b[1]);g.indexOf(B,n)!==-1&&(k=j);if(c instanceof m&&q&&j){var l=x(e),p=g.initial(l);(b=c.find(function(a){if(j===a)return true;if(!a)return false;var b=a.get(p);if((b instanceof o||b instanceof m)&&j===b)return true;b=a.get(l);if((b instanceof o||b instanceof m)&&j===b||b instanceof m&&k&&k===b)return true}))&&(i=c.indexOf(b))}e=a+(i!==-1&&(n==="change"||e)?"["+i+"]":"")+(e?"."+e:"");if(/\[\*\]/g.test(e))return this;b=e.replace(/\[\d+\]/g,"[*]");i=[];i.push.apply(i,d);i[0]=n+":"+e;h=c._proxyCalls=
7
- h||{};if(this._isEventAvailable.call(this,h,e))return this;h[e]=true;if("change"===n){this._previousAttributes[a]=c._previousAttributes;this.changed[a]=c}this.trigger.apply(this,i);"change"===n&&this.get(e)!=d[2]&&this.trigger.apply(this,["nested-change",e,d[1]]);h&&e&&delete h[e];if(e!==b){i[0]=n+":"+b;this.trigger.apply(this,i)}return this}},_isEventAvailable:function(a,c){return g.find(a,function(a,b){return c.indexOf(b,c.length-b.length)!==-1})},_createCollection:function(a){var c=a;g.isString(c)&&
8
- (c=t(c));if(c&&c.prototype instanceof o){a=new m;a.model=c}else throw Error("type must inherit from Backbone.AssociatedModel");return a},_processPendingEvents:function(){if(!this.visited){this.visited=true;this._deferEvents=false;g.each(this._pendingEvents,function(a){a.c.trigger.apply(a.c,a.a)});this._pendingEvents=[];g.each(this.relations,function(a){(a=this.attributes[a.key])&&a._processPendingEvents()},this);delete this.visited}},trigger:function(a){if(this._deferEvents){this._pendingEvents=this._pendingEvents||
9
- [];this._pendingEvents.push({c:this,a:arguments})}else r.trigger.apply(this,arguments)},toJSON:function(a){var c,d;if(!this.visited){this.visited=true;c=r.toJSON.apply(this,arguments);this.relations&&g.each(this.relations,function(b){var h=this.attributes[b.key];if(h){d=h.toJSON(a);c[b.key]=g.isArray(d)?g.compact(d):d}},this);delete this.visited}return c},clone:function(){return new this.constructor(this.toJSON())},_getAttr:function(a){var c=this,a=x(a),d,b;if(!(g.size(a)<1)){for(b=0;b<a.length;b++){d=
10
- a[b];if(!c)break;c=c instanceof m?isNaN(d)?void 0:c.at(d):c.attributes[d]}return c}}});var C=/[^\.\[\]]+/g,x=function(a){return a===""?[""]:g.isString(a)?a.match(C):a||[]},t=function(a){return g.reduce(a.split("."),function(a,d){return a[d]},v)},D=function(a,c,d){var b;g.find(a,function(a){if(b=g.find(a.relations,function(b){return a.get(b.key)===c},this))return true},this);return b&&b.map?b.map(d):d},u={};g.each(["set","remove","reset"],function(a){u[a]=m.prototype[a];s[a]=function(c,d){this.model.prototype instanceof
11
- o&&this.parents&&(arguments[0]=D(this.parents,this,c));return u[a].apply(this,arguments)}});u.trigger=s.trigger;s.trigger=function(a){if(this._deferEvents){this._pendingEvents=this._pendingEvents||[];this._pendingEvents.push({c:this,a:arguments})}else u.trigger.apply(this,arguments)};s._processPendingEvents=o.prototype._processPendingEvents}).call(this);
1
+ (function(){var z=this,h,f,w,n,u,v,C,s,D,E;"undefined"===typeof window?(h=require("underscore"),f=require("backbone"),"undefined"!==typeof exports&&(exports=module.exports=f)):(h=z._,f=z.Backbone);w=f.Model;n=f.Collection;u=w.prototype;v=n.prototype;D=/[\.\[\]]+/g;C="change add remove reset sort destroy".split(" ");E=["reset","sort"];f.Associations={VERSION:"0.5.1"};f.Associations.Many=f.Many="Many";f.Associations.One=f.One="One";f.Associations.Self=f.Self="Self";s=f.AssociatedModel=f.Associations.AssociatedModel=
2
+ w.extend({relations:void 0,_proxyCalls:void 0,get:function(a){var c=u.get.call(this,a);return c?c:this._getAttr.apply(this,arguments)},set:function(a,c,d){var b;h.isObject(a)||null==a?(b=a,d=c):(b={},b[a]=c);a=this._set(b,d);this._processPendingEvents();return a},_set:function(a,c){var d,b,F,e,l=this;if(!a)return this;for(d in a)if(b||(b={}),d.match(D)){var f=A(d);e=h.initial(f);f=f[f.length-1];e=this.get(e);e instanceof s&&(e=b[e.cid]||(b[e.cid]={model:e,data:{}}),e.data[f]=a[d])}else e=b[this.cid]||
3
+ (b[this.cid]={model:this,data:{}}),e.data[d]=a[d];if(b)for(F in b)e=b[F],this._setAttr.call(e.model,e.data,c)||(l=!1);else l=this._setAttr.call(this,a,c);return l},_setAttr:function(a,c){var d;c||(c={});if(c.unset)for(d in a)a[d]=void 0;this.parents=this.parents||[];this.relations&&h.each(this.relations,function(b){var d=b.key,e=b.relatedModel,l=b.collectionType,p=b.map,k=this.attributes[d],q=k&&k.idAttribute,g,t,m,r,B=!1;!e||e.prototype instanceof w||(e=h.isFunction(e)?e.call(this,b,a):e);e&&h.isString(e)&&
4
+ (e=e===f.Self?this.constructor:x(e));l&&h.isString(l)&&(l=x(l));p&&h.isString(p)&&(p=x(p));t=b.options?h.extend({},b.options,c):c;if(a[d]){g=h.result(a,d);g=p?p(g):g;if(b.type===f.Many){if(l&&!l.prototype instanceof n)throw Error("collectionType must inherit from Backbone.Collection");g instanceof n?(m=g,B=k!==g):(k?(m=k,m._deferEvents=!0):m=l?new l:this._createCollection(e),m[t.reset?"reset":"set"](g,t))}else b.type===f.One&&e&&(g instanceof s?(m=g,B=k!==g):k?k&&g[q]&&k.get(q)===g[q]?(k._deferEvents=
5
+ !0,k._set(g,t),m=k):m=new e(g,t):m=new e(g,t));r=a[d]=m;if(B||r&&!r._proxyCallback)r._proxyCallback=function(){return this._bubbleEvent.call(this,d,r,arguments)},r.on("all",r._proxyCallback,this)}a.hasOwnProperty(d)&&(b=a[d],e=this.attributes[d],b?(b.parents=b.parents||[],-1==h.indexOf(b.parents,this)&&b.parents.push(this)):e&&0<e.parents.length&&(e.parents=h.difference(e.parents,[this]),e._proxyCallback&&e.off("all",e._proxyCallback,this)))},this);return u.set.call(this,a,c)},_bubbleEvent:function(a,
6
+ c,d){var b=d[0].split(":"),f=b[0],e="nested-change"==d[0],l=d[1],p=d[2],k=-1,q=c._proxyCalls,g,t=-1!==h.indexOf(C,f);if(!e){1<h.size(b)&&(g=b[1]);-1!==h.indexOf(E,f)&&(p=l);if(c instanceof n&&t&&l){var m=A(g),r=h.initial(m);(b=c.find(function(a){if(l===a)return!0;if(!a)return!1;var b=a.get(r);if((b instanceof s||b instanceof n)&&l===b)return!0;b=a.get(m);if((b instanceof s||b instanceof n)&&l===b||b instanceof n&&p&&p===b)return!0}))&&(k=c.indexOf(b))}g=a+(-1===k||"change"!==f&&!g?"":"["+k+"]")+(g?
7
+ "."+g:"");if(/\[\*\]/g.test(g))return this;b=g.replace(/\[\d+\]/g,"[*]");k=[];k.push.apply(k,d);k[0]=f+":"+g;q=c._proxyCalls=q||{};if(this._isEventAvailable.call(this,q,g))return this;q[g]=!0;"change"===f&&(this._previousAttributes[a]=c._previousAttributes,this.changed[a]=c);this.trigger.apply(this,k);"change"===f&&this.get(g)!=d[2]&&this.trigger.apply(this,["nested-change",g,d[1]]);q&&g&&delete q[g];g!==b&&(k[0]=f+":"+b,this.trigger.apply(this,k));return this}},_isEventAvailable:function(a,c){return h.find(a,
8
+ function(a,b){return-1!==c.indexOf(b,c.length-b.length)})},_createCollection:function(a){var c=a;h.isString(c)&&(c=x(c));if(c&&c.prototype instanceof s)a=new n,a.model=c;else throw Error("type must inherit from Backbone.AssociatedModel");return a},_processPendingEvents:function(){this.visited||(this.visited=!0,this._deferEvents=!1,h.each(this._pendingEvents,function(a){a.c.trigger.apply(a.c,a.a)}),this._pendingEvents=[],h.each(this.relations,function(a){(a=this.attributes[a.key])&&a._processPendingEvents()},
9
+ this),delete this.visited)},trigger:function(a){this._deferEvents?(this._pendingEvents=this._pendingEvents||[],this._pendingEvents.push({c:this,a:arguments})):u.trigger.apply(this,arguments)},toJSON:function(a){var c,d;this.visited||(this.visited=!0,c=u.toJSON.apply(this,arguments),this.relations&&h.each(this.relations,function(b){var f=this.attributes[b.key];f&&(d=f.toJSON(a),c[b.key]=h.isArray(d)?h.compact(d):d)},this),delete this.visited);return c},clone:function(){return new this.constructor(this.toJSON())},
10
+ cleanup:function(){h.each(this.relations,function(a){(a=this.attributes[a.key])&&(a.parents=h.difference(a.parents,[this]))},this);this.off()},_getAttr:function(a){var c=this;a=A(a);var d,b;if(!(1>h.size(a))){for(b=0;b<a.length;b++){d=a[b];if(!c)break;c=c instanceof n?isNaN(d)?void 0:c.at(d):c.attributes[d]}return c}}});var G=/[^\.\[\]]+/g,A=function(a){return""===a?[""]:h.isString(a)?a.match(G):a||[]},x=function(a){return h.reduce(a.split("."),function(a,d){return a[d]},z)},H=function(a,c,d){var b;
11
+ h.find(a,function(a){if(b=h.find(a.relations,function(b){return a.get(b.key)===c},this))return!0},this);return b&&b.map?b.map(d):d},y={};h.each(["set","remove","reset"],function(a){y[a]=n.prototype[a];v[a]=function(c,d){this.model.prototype instanceof s&&this.parents&&(arguments[0]=H(this.parents,this,c));return y[a].apply(this,arguments)}});y.trigger=v.trigger;v.trigger=function(a){this._deferEvents?(this._pendingEvents=this._pendingEvents||[],this._pendingEvents.push({c:this,a:arguments})):y.trigger.apply(this,
12
+ arguments)};v._processPendingEvents=s.prototype._processPendingEvents}).call(this);
@@ -1,5 +1,5 @@
1
1
  //
2
- // Backbone-associations.js 0.5.0
2
+ // Backbone-associations.js 0.5.1
3
3
  //
4
4
  // (c) 2013 Dhruva Ray, Jaynti Kanani, Persistent Systems Ltd.
5
5
  // Backbone-associations may be freely distributed under the MIT license.
@@ -44,7 +44,7 @@
44
44
  collectionEvents = ["reset", "sort"];
45
45
 
46
46
  Backbone.Associations = {
47
- VERSION:"0.5.0"
47
+ VERSION:"0.5.1"
48
48
  };
49
49
 
50
50
  // Backbone.AssociatedModel
@@ -53,6 +53,7 @@
53
53
  //Add `Many` and `One` relations to Backbone Object.
54
54
  Backbone.Associations.Many = Backbone.Many = "Many";
55
55
  Backbone.Associations.One = Backbone.One = "One";
56
+ Backbone.Associations.Self = Backbone.Self = "Self";
56
57
  // Define `AssociatedModel` (Extends Backbone.Model).
57
58
  AssociatedModel = Backbone.AssociatedModel = Backbone.Associations.AssociatedModel = BackboneModel.extend({
58
59
  // Define relations with Associated Model.
@@ -135,15 +136,24 @@
135
136
  // Iterate over `this.relations` and `set` model and collection values
136
137
  // if `relations` are available.
137
138
  _.each(this.relations, function (relation) {
138
- var relationKey = relation.key, relatedModel = relation.relatedModel,
139
+ var relationKey = relation.key,
140
+ relatedModel = relation.relatedModel,
139
141
  collectionType = relation.collectionType,
140
142
  map = relation.map,
141
143
  currVal = this.attributes[relationKey],
142
144
  idKey = currVal && currVal.idAttribute,
143
- val, relationOptions, data, relationValue;
145
+ val, relationOptions, data, relationValue, newCtx = false;
144
146
 
145
- //Get class if relation and map is stored as a string.
146
- relatedModel && _.isString(relatedModel) && (relatedModel = map2Scope(relatedModel));
147
+ // Call function if relatedModel is implemented as a function
148
+ if (relatedModel && !(relatedModel.prototype instanceof BackboneModel))
149
+ relatedModel = _.isFunction(relatedModel) ?
150
+ relatedModel.call(this, relation, attributes) :
151
+ relatedModel;
152
+
153
+ // Get class if relation and map is stored as a string.
154
+ if (relatedModel && _.isString(relatedModel)) {
155
+ relatedModel = (relatedModel === Backbone.Self) ? this.constructor : map2Scope(relatedModel);
156
+ }
147
157
  collectionType && _.isString(collectionType) && (collectionType = map2Scope(collectionType));
148
158
  map && _.isString(map) && (map = map2Scope(map));
149
159
  // Merge in `options` specific to this relation.
@@ -165,24 +175,27 @@
165
175
 
166
176
  if (val instanceof BackboneCollection) {
167
177
  data = val;
178
+ // Compute whether the context is a new one after this assignment.
179
+ newCtx = (currVal !== val);
168
180
  } else {
169
181
  // Create a new collection
170
182
  if (!currVal) {
171
183
  data = collectionType ? new collectionType() : this._createCollection(relatedModel);
172
- data.add(val, relationOptions);
173
184
  } else {
185
+ data = currVal;
174
186
  // Setting this flag will prevent events from firing immediately. That way clients
175
187
  // will not get events until the entire object graph is updated.
176
- currVal._deferEvents = true;
177
- // Use Backbone.Collection's smart `set` method
178
- currVal.set(val, options);
179
- data = currVal;
188
+ data._deferEvents = true;
180
189
  }
190
+ // Use Backbone.Collection's `reset` or smart `set` method
191
+ data[relationOptions.reset ? 'reset' : 'set'](val, relationOptions);
181
192
  }
182
193
 
183
194
  } else if (relation.type === Backbone.One && relatedModel) {
184
195
  if (val instanceof AssociatedModel) {
185
196
  data = val;
197
+ // Compute whether the context is a new one after this assignment.
198
+ newCtx = (currVal !== val);
186
199
  } else {
187
200
  //Create a new model
188
201
  if (!currVal) {
@@ -194,7 +207,7 @@
194
207
  // will not get events until the entire object graph is updated.
195
208
  currVal._deferEvents = true;
196
209
  // Perform the traditional `set` operation
197
- currVal._set(val, options);
210
+ currVal._set(val, relationOptions);
198
211
  data = currVal;
199
212
  } else {
200
213
  data = new relatedModel(val, relationOptions);
@@ -208,8 +221,8 @@
208
221
  relationValue = data;
209
222
 
210
223
  // Add proxy events to respective parents.
211
- // Only add callback if not defined.
212
- if (relationValue && !relationValue._proxyCallback) {
224
+ // Only add callback if not defined or new Ctx has been identified.
225
+ if (newCtx || (relationValue && !relationValue._proxyCallback)) {
213
226
  relationValue._proxyCallback = function () {
214
227
  return this._bubbleEvent.call(this, relationKey, relationValue, arguments);
215
228
  };
@@ -225,8 +238,10 @@
225
238
  if (updated) {
226
239
  updated.parents = updated.parents || [];
227
240
  (_.indexOf(updated.parents, this) == -1) && updated.parents.push(this);
228
- } else if (original && original.parents.length > 0) {
241
+ } else if (original && original.parents.length > 0) { // New value is undefined
229
242
  original.parents = _.difference(original.parents, [this]);
243
+ // Don't bubble to this parent anymore
244
+ original._proxyCallback && original.off("all", original._proxyCallback, this);
230
245
  }
231
246
  }
232
247
  }, this);
@@ -419,6 +434,17 @@
419
434
  return new this.constructor(this.toJSON());
420
435
  },
421
436
 
437
+ // Call this if you want to set an `AssociatedModel` to a falsy value like undefined/null directly.
438
+ // Not calling this will leak memory and have wrong parents.
439
+ // See test case "parent relations"
440
+ cleanup:function () {
441
+ _.each(this.relations, function (relation) {
442
+ var val = this.attributes[relation.key];
443
+ val && (val.parents = _.difference(val.parents, [this]));
444
+ }, this);
445
+ this.off();
446
+ },
447
+
422
448
  // Navigate the path to the leaf object in the path to query for the attribute value
423
449
  _getAttr:function (path) {
424
450
 
@@ -0,0 +1,8 @@
1
+ {
2
+ "version":3,
3
+ "file":"backbone-associations-min.js",
4
+ "lineCount":12,
5
+ "mappings":"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",
6
+ "sources":["backbone-associations.js"],
7
+ "names":["root","_","Backbone","BackboneModel","BackboneCollection","ModelProto","CollectionProto","defaultEvents","AssociatedModel","pathChecker","collectionEvents","window","require","exports","module","Model","Collection","prototype","Associations","Many","One","Self","extend","undefined","get","attr","obj","call","_getAttr","apply","arguments","set","key","value","options","attributes","isObject","result","_set","_processPendingEvents","modelMap","modelId","match","pathTokens","getPathArray","initials","initial","last","length","parentModel","cid","data","_setAttr","model","unset","parents","relations","each","relation","relationKey","relatedModel","collectionType","map","currVal","idKey","idAttribute","val","relationOptions","relationValue","newCtx","isFunction","isString","constructor","map2Scope","type","Error","_deferEvents","_createCollection","reset","_proxyCallback","relationValue._proxyCallback","_bubbleEvent","on","hasOwnProperty","updated","original","indexOf","push","difference","off","eventArguments","opt","split","eventType","catch_all","eventObject","colObject","indexEventObject","_proxyCalls","eventPath","isDefaultEvent","size","initialTokens","colModel","find","changedModel","test","basecolEventPath","replace","cargs","_isEventAvailable","_previousAttributes","changed","trigger","path","eventKey","collection","visited","_pendingEvents","e","c","a","name","toJSON","json","aJson","isArray","compact","clone","cleanup","attrs","i","isNaN","at","delimiters","reduce","memo","elem","map2models","target","models","parent","rel","proxies","method"]
8
+ }
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backbone-associations-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.5.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Stafford Brunk
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-20 00:00:00.000000000 Z
11
+ date: 2013-07-19 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Backbone-associations provides a way of specifying 1:1 and 1:N relationships
15
14
  between Backbone models. Additionally, parent model instances (and objects extended
@@ -31,28 +30,29 @@ files:
31
30
  - lib/backbone-associations-rails/version.rb
32
31
  - vendor/assets/javascripts/backbone-associations-min.js
33
32
  - vendor/assets/javascripts/backbone-associations.js
33
+ - vendor/assets/javascripts/backbone-associations.map
34
34
  homepage: https://github.com/wingrunr21/backbone-associations-rails
35
- licenses: []
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
36
38
  post_install_message:
37
39
  rdoc_options: []
38
40
  require_paths:
39
41
  - lib
40
42
  required_ruby_version: !ruby/object:Gem::Requirement
41
- none: false
42
43
  requirements:
43
- - - ! '>='
44
+ - - '>='
44
45
  - !ruby/object:Gem::Version
45
46
  version: '0'
46
47
  required_rubygems_version: !ruby/object:Gem::Requirement
47
- none: false
48
48
  requirements:
49
- - - ! '>='
49
+ - - '>='
50
50
  - !ruby/object:Gem::Version
51
51
  version: '0'
52
52
  requirements: []
53
53
  rubyforge_project:
54
- rubygems_version: 1.8.23
54
+ rubygems_version: 2.0.3
55
55
  signing_key:
56
- specification_version: 3
56
+ specification_version: 4
57
57
  summary: Packages the backbone.associations library for use with the asset pipline
58
58
  test_files: []