summaryrefslogtreecommitdiff
path: root/users/app
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2013-01-03 01:47:50 -0800
committerazul <azul@riseup.net>2013-01-03 01:47:50 -0800
commit38c87ba6eb30d8345c9c59b4f9b0d84955543ba0 (patch)
treedfb83541c077ac3deaf85c79823f8b968269534f /users/app
parentfd62997599f327c0153e23c9f8d2b074a83b43a7 (diff)
parent5732c2fa48cf4af9af122ca5366f9ffffe5f22fb (diff)
Merge pull request #9 from leapcode/feature/read-design-from-js-files
moving the js for view definitions into separate files
Diffstat (limited to 'users/app')
-rw-r--r--users/app/designs/user/by_email_alias.js8
-rw-r--r--users/app/designs/user/by_email_or_alias.js11
-rw-r--r--users/app/models/user.rb29
3 files changed, 20 insertions, 28 deletions
diff --git a/users/app/designs/user/by_email_alias.js b/users/app/designs/user/by_email_alias.js
new file mode 100644
index 0000000..51eb976
--- /dev/null
+++ b/users/app/designs/user/by_email_alias.js
@@ -0,0 +1,8 @@
+function(doc) {
+ if (doc.type != 'User') {
+ return;
+ }
+ doc.email_aliases.forEach(function(alias){
+ emit(alias.email, doc);
+ });
+}
diff --git a/users/app/designs/user/by_email_or_alias.js b/users/app/designs/user/by_email_or_alias.js
new file mode 100644
index 0000000..2f1e569
--- /dev/null
+++ b/users/app/designs/user/by_email_or_alias.js
@@ -0,0 +1,11 @@
+function(doc) {
+ if (doc.type != 'User') {
+ return;
+ }
+ if (doc.email) {
+ emit(doc.email, doc);
+ }
+ doc.email_aliases.forEach(function(alias){
+ emit(alias.email, doc);
+ });
+}
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 2a8a57b..1798ea4 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -46,37 +46,10 @@ class User < CouchRest::Model::Base
timestamps!
design do
+ load_views(Rails.root.join('users', 'app', 'designs', 'user'))
view :by_login
view :by_created_at
view :by_email
-
- view :by_email_alias,
- :map => <<-EOJS
- function(doc) {
- if (doc.type != 'User') {
- return;
- }
- doc.email_aliases.forEach(function(alias){
- emit(alias.email, doc);
- });
- }
- EOJS
-
- view :by_email_or_alias,
- :map => <<-EOJS
- function(doc) {
- if (doc.type != 'User') {
- return;
- }
- if (doc.email) {
- emit(doc.email, doc);
- }
- doc.email_aliases.forEach(function(alias){
- emit(alias.email, doc);
- });
- }
- EOJS
-
end
class << self