From 04376c286daee0165f6544ecdafaa645aa7695c0 Mon Sep 17 00:00:00 2001
From: Azul <azul@leap.se>
Date: Sat, 22 Dec 2012 15:51:24 +0100
Subject: moving the js for view definitions into separate files

This way we get syntax highlighting and so on.
---
 help/app/designs/ticket/by_includes_post_by.js     | 13 ++++
 .../ticket/by_includes_post_by_and_created_at.js   | 12 ++++
 ..._includes_post_by_and_is_open_and_created_at.js | 12 ++++
 ..._includes_post_by_and_is_open_and_updated_at.js | 12 ++++
 .../ticket/by_includes_post_by_and_updated_at.js   | 12 ++++
 help/app/models/ticket.rb                          | 79 +---------------------
 6 files changed, 62 insertions(+), 78 deletions(-)
 create mode 100644 help/app/designs/ticket/by_includes_post_by.js
 create mode 100644 help/app/designs/ticket/by_includes_post_by_and_created_at.js
 create mode 100644 help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js
 create mode 100644 help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js
 create mode 100644 help/app/designs/ticket/by_includes_post_by_and_updated_at.js

(limited to 'help/app')

diff --git a/help/app/designs/ticket/by_includes_post_by.js b/help/app/designs/ticket/by_includes_post_by.js
new file mode 100644
index 0000000..2eeac89
--- /dev/null
+++ b/help/app/designs/ticket/by_includes_post_by.js
@@ -0,0 +1,13 @@
+// TODO: This view is only used in tests--should we keep it?
+function(doc) {
+  var arr = {}
+  if (doc['type'] == 'Ticket' && doc.comments) {
+    doc.comments.forEach(function(comment){
+      if (comment.posted_by && !arr[comment.posted_by]) {
+        //don't add duplicates
+        arr[comment.posted_by] = true;
+        emit(comment.posted_by, 1);
+      }
+    });
+  }
+}
diff --git a/help/app/designs/ticket/by_includes_post_by_and_created_at.js b/help/app/designs/ticket/by_includes_post_by_and_created_at.js
new file mode 100644
index 0000000..72169b0
--- /dev/null
+++ b/help/app/designs/ticket/by_includes_post_by_and_created_at.js
@@ -0,0 +1,12 @@
+function(doc) {
+  var arr = {}
+  if (doc['type'] == 'Ticket' && doc.comments) {
+    doc.comments.forEach(function(comment){
+      if (comment.posted_by && !arr[comment.posted_by]) {
+        //don't add duplicates
+        arr[comment.posted_by] = true;
+        emit([comment.posted_by, doc.created_at], 1);
+      }
+    });
+  }
+}
diff --git a/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js
new file mode 100644
index 0000000..33dfe0b
--- /dev/null
+++ b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js
@@ -0,0 +1,12 @@
+function(doc) {
+  var arr = {}
+  if (doc['type'] == 'Ticket' && doc.comments) {
+    doc.comments.forEach(function(comment){
+      if (comment.posted_by && !arr[comment.posted_by]) {
+        //don't add duplicates
+        arr[comment.posted_by] = true;
+        emit([comment.posted_by, doc.is_open, doc.created_at], 1);
+      }
+    });
+  }
+}
diff --git a/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js
new file mode 100644
index 0000000..3bd2a74
--- /dev/null
+++ b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js
@@ -0,0 +1,12 @@
+function(doc) {
+  var arr = {}
+  if (doc['type'] == 'Ticket' && doc.comments) {
+    doc.comments.forEach(function(comment){
+      if (comment.posted_by && !arr[comment.posted_by]) {
+        //don't add duplicates
+        arr[comment.posted_by] = true;
+        emit([comment.posted_by, doc.is_open, doc.updated_at], 1);
+      }
+    });
+  }
+}
diff --git a/help/app/designs/ticket/by_includes_post_by_and_updated_at.js b/help/app/designs/ticket/by_includes_post_by_and_updated_at.js
new file mode 100644
index 0000000..2b4304f
--- /dev/null
+++ b/help/app/designs/ticket/by_includes_post_by_and_updated_at.js
@@ -0,0 +1,12 @@
+function(doc) {
+  var arr = {}
+  if (doc['type'] == 'Ticket' && doc.comments) {
+    doc.comments.forEach(function(comment){
+      if (comment.posted_by && !arr[comment.posted_by]) {
+        //don't add duplicates
+        arr[comment.posted_by] = true;
+        emit([comment.posted_by, doc.updated_at], 1);
+      }
+    });
+  }
+}
diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb
index fa056b4..a5c9ee5 100644
--- a/help/app/models/ticket.rb
+++ b/help/app/models/ticket.rb
@@ -47,84 +47,7 @@ class Ticket < CouchRest::Model::Base
     view :by_is_open_and_created_at
     view :by_is_open_and_updated_at
 
-
-    #TODO: This view is only used in tests--should we keep it?
-    view :by_includes_post_by,
-      :map =>
-      "function(doc) {
-        var arr = {}
-        if (doc['type'] == 'Ticket' && doc.comments) {
-          doc.comments.forEach(function(comment){
-          if (comment.posted_by && !arr[comment.posted_by]) {
-             //don't add duplicates
-             arr[comment.posted_by] = true;
-             emit(comment.posted_by, 1);
-          }
-          });
-        }
-      }", :reduce => "function(k,v,r) { return sum(v); }"
-
-    view :by_includes_post_by_and_is_open_and_updated_at,
-      :map =>
-      "function(doc) {
-        var arr = {}
-        if (doc['type'] == 'Ticket' && doc.comments) {
-          doc.comments.forEach(function(comment){
-          if (comment.posted_by && !arr[comment.posted_by]) {
-            //don't add duplicates
-            arr[comment.posted_by] = true;
-            emit([comment.posted_by, doc.is_open, doc.updated_at], 1);
-          }
-          });
-        }
-      }", :reduce => "function(k,v,r) { return sum(v); }"
-
-    view :by_includes_post_by_and_is_open_and_created_at,
-      :map =>
-      "function(doc) {
-        var arr = {}
-        if (doc['type'] == 'Ticket' && doc.comments) {
-          doc.comments.forEach(function(comment){
-          if (comment.posted_by && !arr[comment.posted_by]) {
-            //don't add duplicates
-            arr[comment.posted_by] = true;
-            emit([comment.posted_by, doc.is_open, doc.created_at], 1);
-          }
-          });
-        }
-      }", :reduce => "function(k,v,r) { return sum(v); }"
-
-    view :by_includes_post_by_and_updated_at,
-      :map =>
-      "function(doc) {
-        var arr = {}
-        if (doc['type'] == 'Ticket' && doc.comments) {
-          doc.comments.forEach(function(comment){
-          if (comment.posted_by && !arr[comment.posted_by]) {
-            //don't add duplicates
-            arr[comment.posted_by] = true;
-            emit([comment.posted_by, doc.updated_at], 1);
-          }
-          });
-        }
-      }", :reduce => "function(k,v,r) { return sum(v); }"
-
-
-    view :by_includes_post_by_and_created_at,
-      :map =>
-      "function(doc) {
-        var arr = {}
-        if (doc['type'] == 'Ticket' && doc.comments) {
-          doc.comments.forEach(function(comment){
-          if (comment.posted_by && !arr[comment.posted_by]) {
-            //don't add duplicates
-            arr[comment.posted_by] = true;
-            emit([comment.posted_by, doc.created_at], 1);
-          }
-          });
-        }
-      }", :reduce => "function(k,v,r) { return sum(v); }"
-
+    load_views(Rails.root.join('help', 'app', 'designs', 'ticket'))
   end
 
   validates :title, :presence => true
-- 
cgit v1.2.3