OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / models / user.js.coffee
index 469fde4..ab62ce1 100644 (file)
@@ -3,14 +3,41 @@ class Pettanr.User extends Backbone.Model
   url: '/users/'\r
   \r
   defaults: {\r
-    id: null\r
   } \r
   \r
   author: () ->\r
   \r
   artist: () ->\r
   \r
-  initialize: () ->\r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
+    _.extend(this, Backbone.Events)\r
     if @id\r
       @url = @url + @id\r
   \r
+class Pettanr.User.Session extends Pettanr.User\r
+  \r
+  sign_in: () ->\r
+    @save({})\r
+  \r
+  save: (model_attr) ->\r
+    @url = '/users/sign_in'\r
+    super(model_attr, {\r
+      success: (model, response, options) =>\r
+        @trigger('sign_in:success', model, response)\r
+      error: (model, response, options) =>\r
+        @trigger('sign_in:fail', model, response)\r
+    })\r
+  \r
+  destroy: () ->\r
+    @url = '/users/sign_out'\r
+    @sync('delete', this, {\r
+      success: (model, response, options) =>\r
+        @trigger('sign_out:success', model, response)\r
+      error: (model, response, options) =>\r
+        @trigger('sign_out:fail', model, response)\r
+    })\r
+  \r
+  initialize: (attr = {}, options = {}) ->\r
+    super(attr, options)\r
+  \r