summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
Diffstat (limited to 'users')
-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