Skip to content

Commit

Permalink
Rename Model.RestPersistence to Model.REST.
Browse files Browse the repository at this point in the history
Model.RestPersistence can still be used but will be removed in version 1.0.
  • Loading branch information
benpickles committed Sep 15, 2010
1 parent 6d8d9cf commit 01c557c
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 25 deletions.
2 changes: 1 addition & 1 deletion lib/bundler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def files
model_instance_methods
model_local_storage
model_log
model_rest_persistence
model_rest
model_uid
model_version
)
Expand Down
15 changes: 9 additions & 6 deletions src/model_rest_persistence.js → src/model_rest.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Model.RestPersistence = function(resource, methods) {
Model.REST = function(resource, methods) {
var PARAM_NAME_MATCHER = /:([\w\d]+)/g;
var resource_param_names = (function() {
var resource_param_names = []
Expand Down Expand Up @@ -98,11 +98,11 @@ Model.RestPersistence = function(resource, methods) {

xhrComplete: function(xhr, textStatus, model, callback) {
// Allow custom handlers to be defined per-HTTP status code.
var handler = Model.RestPersistence["handle" + xhr.status]
var handler = Model.REST["handle" + xhr.status]
if (handler) handler.call(this, xhr, textStatus, model)

var success = textStatus === "success"
var data = Model.RestPersistence.parseResponseData(xhr)
var data = Model.REST.parseResponseData(xhr)

// Remote data is the definitive source, update model.
if (success && model && data) model.attr(data)
Expand All @@ -117,10 +117,13 @@ Model.RestPersistence = function(resource, methods) {
}
};

// TODO: Remove in v1 if it ever gets there.
Model.RestPersistence = Model.REST

// Rails' preferred failed validation response code, assume the response
// contains errors and replace current model errors with them.
Model.RestPersistence.handle422 = function(xhr, textStatus, model) {
var data = Model.RestPersistence.parseResponseData(xhr);
Model.REST.handle422 = function(xhr, textStatus, model) {
var data = Model.REST.parseResponseData(xhr);

if (data) {
model.errors.clear()
Expand All @@ -133,7 +136,7 @@ Model.RestPersistence.handle422 = function(xhr, textStatus, model) {
}
}

Model.RestPersistence.parseResponseData = function(xhr) {
Model.REST.parseResponseData = function(xhr) {
try {
return /\S/.test(xhr.responseText) ?
jQuery.parseJSON(xhr.responseText) :
Expand Down
34 changes: 17 additions & 17 deletions test/tests/model_rest_persistence.js → test/tests/model_rest.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
module("Model.RestPersistence");
module("Model.REST");

asyncTest("read", 3, function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts")
persistence: Model.REST("/posts")
})

Post.persistence.read(function(models) {
Expand All @@ -20,7 +20,7 @@ asyncTest("read", 3, function() {

asyncTest("read", 2, function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-single")
persistence: Model.REST("/posts-single")
})

Post.persistence.read(function(models) {
Expand All @@ -32,7 +32,7 @@ asyncTest("read", 2, function() {

test("create with named params in resource path", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/root/:root_id/nested/:nested_id/posts")
persistence: Model.REST("/root/:root_id/nested/:nested_id/posts")
});
var post = new Post({ title: "Nested", body: "...", root_id: 3, nested_id: 2 });

Expand All @@ -54,7 +54,7 @@ test("create with named params in resource path", function() {

test("update with named params in resource path", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/root/:root_id/nested/:nested_id/posts")
persistence: Model.REST("/root/:root_id/nested/:nested_id/posts")
});
var post = new Post({ id: 1, title: "Nested", body: "...", root_id: 3, nested_id: 2 });
post.attr("title", "Nested amended");
Expand All @@ -77,7 +77,7 @@ test("update with named params in resource path", function() {

test("destroy with named params in resource path", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/root/:root_id/nested/:nested_id/posts")
persistence: Model.REST("/root/:root_id/nested/:nested_id/posts")
});
var post = new Post({ id: 1, title: "Nested", body: "...", root_id: 3, nested_id: 2 });

Expand All @@ -100,7 +100,7 @@ test("destroy with named params in resource path", function() {

test("create", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts")
persistence: Model.REST("/posts")
});
var post = new Post({ title: "Foo", body: "..." });

Expand Down Expand Up @@ -130,7 +130,7 @@ test("create", function() {

test("create - 422 response (failed validations)", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-validations")
persistence: Model.REST("/posts-validations")
});
var post = new Post();
post.attr("title", "Foo");
Expand All @@ -149,7 +149,7 @@ test("create - 422 response (failed validations)", function() {

test("create failure", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-failure")
persistence: Model.REST("/posts-failure")
});
var post = new Post();
post.attr({ title: "Foo", body: "..." });
Expand All @@ -170,7 +170,7 @@ test("create failure", function() {

test("update", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts")
persistence: Model.REST("/posts")
});
var post = new Post({ id: 1, title: "Foo", body: "..." });
post.attr("title", "Bar");
Expand All @@ -197,7 +197,7 @@ test("update", function() {

test("update - blank response (Rails' `head :ok`)", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-empty-response")
persistence: Model.REST("/posts-empty-response")
});
var post = new Post({ id: 1, title: "Foo", body: "..." });
post.attr("title", "Bar");
Expand All @@ -224,7 +224,7 @@ test("update - blank response (Rails' `head :ok`)", function() {

test("update - 422 response (failed validations)", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-validations")
persistence: Model.REST("/posts-validations")
});
var post = new Post({ id: 1 });
post.attr("title", "Foo");
Expand All @@ -243,7 +243,7 @@ test("update - 422 response (failed validations)", function() {

test("update failure", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-failure")
persistence: Model.REST("/posts-failure")
});
var post = new Post({ id: 1, title: "Foo" });
post.attr("title", "Bar");
Expand All @@ -261,7 +261,7 @@ test("update failure", function() {

test("destroy", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts")
persistence: Model.REST("/posts")
});
var post = new Post({ id: 1, title: "Foo", body: "..." });

Expand All @@ -285,7 +285,7 @@ test("destroy", function() {

test("destroy failure", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-failure")
persistence: Model.REST("/posts-failure")
});
var post = new Post({ id: 1, title: "Foo" });

Expand All @@ -305,7 +305,7 @@ test("destroy failure", function() {

test("destroy - 422 response (failed validations)", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts-validations")
persistence: Model.REST("/posts-validations")
});
var post = new Post({ id: 1, title: "Foo" });

Expand All @@ -321,7 +321,7 @@ test("destroy - 422 response (failed validations)", function() {

test("events", function() {
var Post = Model("post", {
persistence: Model.RestPersistence("/posts")
persistence: Model.REST("/posts")
});

var events = [];
Expand Down
2 changes: 1 addition & 1 deletion test/views/index.erb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<script src="tests/model_callbacks.js"></script>
<script src="tests/model_class_methods.js"></script>
<script src="tests/model_errors.js"></script>
<script src="tests/model_rest_persistence.js"></script>
<script src="tests/model_rest.js"></script>
<script src="tests/model_uid.js"></script>
<script src="tests/model_local_storage.js"></script>
</head>
Expand Down

0 comments on commit 01c557c

Please sign in to comment.