From 72c2a7e1d8b55e3ce8914b917cb6344fd17098e4 Mon Sep 17 00:00:00 2001 From: Zatvor Date: Wed, 4 Mar 2015 10:35:45 +0200 Subject: [PATCH 1/2] Remove redundant things --- bower.json | 7 +------ package.json | 2 -- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/bower.json b/bower.json index b23db4b..f0c9243 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,5 @@ { "name": "ember-couchdb-kit", - "version": "1.0.1", "description": "An Ember.js adapter for Apache CouchDB", "repository": { "type": "git", "url": "git://github.com/zatvobor/ember-couchdb-kit.git" @@ -8,9 +7,5 @@ "main": "dist/ember-couchdb-kit.min.js", "ignore": [ "example", "spec", "src", "Gruntfile.js", "package.json" - ], - "dependencies": { - "ember": "1.5.1", - "ember-data": "1.0.0-beta.7" - } + ] } diff --git a/package.json b/package.json index e0f5e68..f07a650 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,5 @@ { "name": "ember-couchdb-kit", - "version": "0.0.0", - "repository": "https://github.com/roundscope/ember-couchdb-kit", "scripts": { "postinstall": "bower install", "test": "grunt test" From d2f17a932f0818c6d668748a09a05a01bf23a5a7 Mon Sep 17 00:00:00 2001 From: Zatvor Date: Wed, 4 Mar 2015 10:42:03 +0200 Subject: [PATCH 2/2] Bump a v1.0.2 --- README.md | 1 + dist/ember-couchdb-kit.js | 2 +- dist/ember-couchdb-kit.min.js | 2 +- src/document-adapter.coffee | 4 ++-- src/ember-couchdb-kit.coffee | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 53df2e6..581364c 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ ember-couchdb-kit Versions: +* `v1.0.2` works with `ember 1.8.1` and `ember-data 1.0.0-beta.15` * `v1.0.0` works with `ember 1.5.1` and `ember-data 1.0.0-beta.7` * `v0.9.0` works with `ember 1.0.0` and `ember-data 1.0.0-beta.3` * `v0.8.0` works with `ember 1.0.0` and `ember-data 1.0.0-beta.2` diff --git a/dist/ember-couchdb-kit.js b/dist/ember-couchdb-kit.js index 491a371..552bb01 100644 --- a/dist/ember-couchdb-kit.js +++ b/dist/ember-couchdb-kit.js @@ -1,6 +1,6 @@ (function() { window.EmberCouchDBKit = Ember.Namespace.create({ - VERSION: '1.0.1' + VERSION: '1.0.2' }); EmberCouchDBKit.sharedStore = (function() { diff --git a/dist/ember-couchdb-kit.min.js b/dist/ember-couchdb-kit.min.js index 1586678..e735436 100644 --- a/dist/ember-couchdb-kit.min.js +++ b/dist/ember-couchdb-kit.min.js @@ -1 +1 @@ -(function(){window.EmberCouchDBKit=Ember.Namespace.create({VERSION:"1.0.1"}),EmberCouchDBKit.sharedStore=function(){var a;return a={},{add:function(b,c,d){return a[b+":"+c]=d},get:function(b,c){return a[b+":"+c]},remove:function(b,c){return delete a[b+":"+c]},mapRevIds:function(a,b){var c=this;return this.get(a,b)._revs_info.map(function(d){return"%@/%@".fmt(c.get(a,b)._id,d.rev)})},stopAll:function(){var b,c,d;d=[];for(b in a)c=a[b],d.push(0===b.indexOf("changes_worker")?c.stop():void 0);return d}}}()}).call(this),function(){EmberCouchDBKit.DocumentSerializer=DS.RESTSerializer.extend({primaryKey:"_id",normalize:function(a,b,c){return this.normalizeId(b),this.normalizeAttachments(b._attachments,a.typeKey,b),this.addHistoryId(b),this.normalizeUsingDeclaredMapping(a,b),this.normalizeAttributes(a,b),this.normalizeRelationships(a,b),this.normalizeHash&&this.normalizeHash[c]?this.normalizeHash[c](b):b?(this.applyTransforms(a,b),b):b},extractSingle:function(a,b,c,d,e){return this._super(a,b,c,d,e)},serialize:function(a,b){return this._super(a,b)},addHistoryId:function(a){return a.history="%@/history".fmt(a.id)},normalizeAttachments:function(a,b,c){var d,e,f,g,h;h=[];for(e in a)g=a[e],f=""+c._id+"/"+e,d={id:f,content_type:g.content_type,digest:g.digest,length:g.length,stub:g.stub,doc_id:c._id,rev:c.rev,file_name:e,model_name:b,revpos:g.revpos,db:g.db},EmberCouchDBKit.sharedStore.add("attachment",f,d),h.push(f);return c.attachments=h},normalizeId:function(a){return a.id=a._id||a.id},normalizeRelationships:function(a,b){var c,d;return d=void 0,c=void 0,this.keyForRelationship?a.eachRelationship(function(a,c){return d=this.keyForRelationship(a,c.kind),a!==d?(b[a]=b[d],delete b[d]):void 0},this):void 0},serializeBelongsTo:function(a,b,c){var d,e,f;return d=c.options.attribute||"id",f=c.key,e=Ember.get(a,f),Ember.isNone(e)?void 0:(b[f]=Ember.get(e,d),c.options.polymorphic?b[f+"_type"]=e.constructor.typeKey:void 0)},serializeHasMany:function(a,b,c){var d,e,f;switch(d=c.options.attribute||"id",e=c.key,f=a.constructor.determineRelationshipType(c)){case"manyToNone":case"manyToMany":case"manyToOne":if(a.get(e).get("content.isLoaded")||Ember.get(a,e).get("isLoaded"))return b[e]=Ember.get(a,e).mapBy(d);if(a.get("_data.%@".fmt(e)))return b[e]=a.get("_data.%@".fmt(e)).mapBy("id")}}}),EmberCouchDBKit.DocumentAdapter=DS.Adapter.extend({defaultSerializer:"_default",customTypeLookup:!1,typeViewName:"all",buildURL:function(){var a,b,c;return a=Ember.get(this,"host"),b=Ember.get(this,"namespace"),c=[],a&&c.push(a),b&&c.push(b),c.push(this.get("db")),c=c.join("/"),a||(c="/"+c),c},ajax:function(a,b,c,d){return this._ajax("%@/%@".fmt(this.buildURL(),a||""),b,c,d)},_ajax:function(a,b,c,d){var e;return null==d&&(d={}),e=this,new Ember.RSVP.Promise(function(f,g){var h;return""===a.split("/").pop()&&(a=a.substr(0,a.length-1)),d.url=a,d.type=b,d.dataType="json",d.contentType="application/json; charset=utf-8",d.context=e,d.data&&"GET"!==b&&(d.data=JSON.stringify(d.data)),e.headers&&(h=e.headers,d.beforeSend=function(a){return forEach.call(Ember.keys(h),function(b){return a.setRequestHeader(b,h[b])})}),d.success||(d.success=function(a){var b;return b=c.call(e,a),Ember.run(null,f,b)}),d.error=function(a){return a&&(a.then=null),Ember.run(null,g,a)},Ember.$.ajax(d)})},_normalizeRevision:function(a){return a&&a._rev&&(a.rev=a._rev,delete a._rev),a},shouldCommit:function(){return this._super.apply(arguments)},find:function(a,b,c){var d;return this._checkForRevision(c)?this.findWithRev(a,b,c):(d=function(a){var c;return this._normalizeRevision(a),c={},c[b.typeKey]=a,c},this.ajax(c,"GET",d))},findWithRev:function(a,b,c,d){var e,f,g,h,i;return h=c.split("/").slice(0,2),g=h[0],i=h[1],f="%@?rev=%@".fmt(g,i),e=function(a){var d;return this._normalizeRevision(a),d={},a._id=c,d[b.typeKey]=a,d},this.ajax(f,"GET",e,d)},findManyWithRev:function(a,b,c){var d,e,f,g,h=this;return f=Ember.String.pluralize(b.typeKey),g=this,d={},d[f]=[],e={async:!1},c.forEach(function(a){var b,c,i,j;return i=a.split("/").slice(0,2),c=i[0],j=i[1],b="%@?rev=%@".fmt(c,j),b="%@/%@".fmt(h.buildURL(),b),e.url=b,e.type="GET",e.dataType="json",e.contentType="application/json; charset=utf-8",e.success=function(b){return b._id=a,g._normalizeRevision(b),d[f].push(b)},Ember.$.ajax(e)}),d},findMany:function(a,b,c){var d,e;return this._checkForRevision(c[0])?this.findManyWithRev(a,b,c):(d={include_docs:!0,keys:c},e=function(a){var c,d=this;return c={},c[Ember.String.pluralize(b.typeKey)]=a.rows.getEach("doc").map(function(a){return d._normalizeRevision(a)}),c},this.ajax("_all_docs?include_docs=true","POST",e,{data:d}))},findQuery:function(a,b,c){var d,e;return d=c.designDoc||this.get("designDoc"),c.options||(c.options={}),c.options.include_docs=!0,e=function(a){var b,c=this;return b={},b[d]=a.rows.getEach("doc").map(function(a){return c._normalizeRevision(a)}),b},this.ajax("_design/%@/_view/%@".fmt(d,c.viewName),"GET",e,{context:this,data:c.options})},findAll:function(a,b){var c,d,e,f,g;return f=Ember.String.singularize(b.typeKey),d=this.get("designDoc")||f,g=this.get("typeViewName"),e=function(a){var c,d=this;return c={},c[[Ember.String.pluralize(b.typeKey)]]=a.rows.getEach("doc").map(function(a){return d._normalizeRevision(a)}),c},c={include_docs:!0,key:'"'+f+'"'},this.ajax("_design/%@/_view/%@".fmt(d,g),"GET",e,{data:c})},createRecord:function(a,b,c){var d;return d=a.serializerFor(b.typeKey).serialize(c),this._push(a,b,c,d)},updateRecord:function(a,b,c){var d;return d=this.serialize(c,{associations:!0,includeId:!0}),c.get("attachments")&&this._updateAttachmnets(c,d),this._push(a,b,c,d)},deleteRecord:function(a,b,c){return this.ajax("%@?rev=%@".fmt(c.get("id"),c.get("_data.rev")),"DELETE",function(){},{})},_updateAttachmnets:function(a,b){var c;return c={},a.get("attachments").forEach(function(a){var b;return b=EmberCouchDBKit.sharedStore.get("attachment",a.get("id")),c[a.get("file_name")]={content_type:b.content_type,digest:b.digest,length:b.length,stub:b.stub,revpos:b.revpos}}),b._attachments=c,delete b.attachments,delete b.history},_checkForRevision:function(a){return a.split("/").length>1},_push:function(a,b,c,d){var e,f,g;return e=c.get("id")||"",f=c.get("id")?"PUT":"POST",c.get("_data.rev")&&(d._rev=c.get("_data.rev")),g=function(a){var c,e;return c=d||{},this._normalizeRevision(a),e={},e[b.typeKey]=$.extend(c,a),e},this.ajax(e,f,g,{data:d})}})}.call(this),function(){EmberCouchDBKit.AttachmentSerializer=DS.RESTSerializer.extend({primaryKey:"id",normalize:function(a,b){var c,d;return d=this,c=b._rev||b.rev,this.store.find(b.model_name,b.doc_id).then(function(a){return a.get("_data.rev")!==c&&d.getIntRevision(a.get("_data.rev"))1},_push:function(a,b,c,d){var e,f,g;return e=c.get("id")||"",f=c.get("id")?"PUT":"POST",c.get("_data.rev")&&(d._rev=c.get("_data.rev")),g=function(a){var c,e;return c=d||{},this._normalizeRevision(a),e={},e[b.typeKey]=$.extend(c,a),e},this.ajax(e,f,g,{data:d})}})}.call(this),function(){EmberCouchDBKit.AttachmentSerializer=DS.RESTSerializer.extend({primaryKey:"id",normalize:function(a,b){var c,d;return d=this,c=b._rev||b.rev,this.store.find(b.model_name,b.doc_id).then(function(a){return a.get("_data.rev")!==c&&d.getIntRevision(a.get("_data.rev")) attribute = (relationship.options.attribute || "id") key = relationship.key - relationshipType = record.constructor.determineRelationshipType(relationship); + relationshipType = record.constructor.determineRelationshipType(relationship) switch relationshipType when "manyToNone", "manyToMany", "manyToOne" if record.get(key).get('content.isLoaded') || Ember.get(record, key).get('isLoaded') @@ -285,7 +285,7 @@ EmberCouchDBKit.DocumentAdapter = DS.Adapter.extend }) createRecord: (store, type, record) -> - json = store.serializerFor(type.typeKey).serialize(record); + json = store.serializerFor(type.typeKey).serialize(record) @_push(store, type, record, json) updateRecord: (store, type, record) -> diff --git a/src/ember-couchdb-kit.coffee b/src/ember-couchdb-kit.coffee index 33a27b8..4222b08 100644 --- a/src/ember-couchdb-kit.coffee +++ b/src/ember-couchdb-kit.coffee @@ -7,7 +7,7 @@ #= require changes-feed window.EmberCouchDBKit = Ember.Namespace.create - VERSION: '1.0.1' + VERSION: '1.0.2' EmberCouchDBKit.sharedStore = do -> _data = {}