backbone-associations-rails 0.5.0 → 0.5.1.1

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 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: []