Revert "refactoring backbone urls"

This reverts commit 4ad58bdf2f.
This commit is contained in:
Maxwell Salzberg 2012-01-19 14:20:31 -08:00
parent 5cb8cd789e
commit 838da1fd52
7 changed files with 25 additions and 48 deletions

View file

@ -1,7 +1,3 @@
app.collections.Comments = Backbone.Collection.extend({
model: app.models.Comment,
initialize : function(models, options) {
this.url = "/posts/" + options.post.id + "/comments" //not delegating to post.url() because when it is in a stream collection it delegates to that url
}
model: app.models.Comment
});

View file

@ -1,7 +1,3 @@
app.collections.Likes = Backbone.Collection.extend({
model: app.models.Like,
initialize : function(models, options) {
this.url = "/posts/" + options.post.id + "/likes" //not delegating to post.url() because when it is in a stream collection it delegates to that url
}
model: app.models.Like
});

View file

@ -1,16 +1,21 @@
app.models.Post = Backbone.Model.extend({
urlRoot : "/posts",
initialize : function() {
this.comments = new app.collections.Comments(this.get("last_three_comments"), {post : this});
this.likes = new app.collections.Likes(this.get("user_like"), { post : this}); // load in the user like initially
this.comments = new app.collections.Comments(this.get("last_three_comments"));
this.comments.url = this.url() + '/comments';
this.likes = new app.collections.Likes(this.get("user_like")); // load in the user like initially
this.likes.url = this.url() + '/likes';
},
createdAt : function() {
return new Date(this.get("created_at")) / 1000;
url : function() {
if(this.id) {
return "/posts/" + this.id;
} else {
return "/posts"
}
},
createReshareUrl : "/reshares",
reshareUrl : "/reshares",
reshare : function(){
return this._reshare = this._reshare || new app.models.Reshare({root_guid : this.get("guid")});
},
@ -28,8 +33,17 @@ app.models.Post = Backbone.Model.extend({
}
},
createdAt : function() {
return new Date(this.get("created_at")) / 1000;
},
likeUrl : function(){
return this.url() + "/likes"
},
like : function() {
this.set({ user_like : this.likes.create() });
this.set({ user_like : this.likes.create({}, {url : this.likeUrl()}) });
},
unlike : function() {

View file

@ -18,7 +18,7 @@ app.views.Feedback = app.views.StreamObject.extend({
if(!window.confirm("Reshare " + this.model.reshareAuthor().name + "'s post?")) { return }
var reshare = this.model.reshare()
reshare.save({}, {
url: this.model.createReshareUrl,
url: this.model.reshareUrl,
success : function(){
app.stream.collection.add(reshare);
}

View file

@ -1,10 +0,0 @@
describe("app.collections.comments", function(){
describe("url", function(){
it("should user the post id", function(){
var post =new app.models.Post({id : 5})
var collection = new app.collections.Comments([], {post : post})
expect(collection.url).toBe("/posts/5/comments")
})
})
})

View file

@ -1,10 +0,0 @@
describe("app.collections.Likes", function(){
describe("url", function(){
it("should user the post id", function(){
var post =new app.models.Post({id : 5})
var collection = new app.collections.Likes([], {post : post})
expect(collection.url).toBe("/posts/5/likes")
})
})
})

View file

@ -3,15 +3,6 @@ describe("app.models.Post", function() {
this.post = new app.models.Post();
})
describe("url", function(){
it("should be /posts when it doesn't have an id", function(){
expect(new app.models.Post().url()).toBe("/posts")
})
it("should be /posts/id when it doesn't have an id", function(){
expect(new app.models.Post({id: 5}).url()).toBe("/posts/5")
})
})
describe("createdAt", function() {
it("returns the post's created_at as an integer", function() {
var date = new Date;