diff options
author | azul <azul@riseup.net> | 2013-01-03 01:47:50 -0800 |
---|---|---|
committer | azul <azul@riseup.net> | 2013-01-03 01:47:50 -0800 |
commit | 38c87ba6eb30d8345c9c59b4f9b0d84955543ba0 (patch) | |
tree | dfb83541c077ac3deaf85c79823f8b968269534f /users | |
parent | fd62997599f327c0153e23c9f8d2b074a83b43a7 (diff) | |
parent | 5732c2fa48cf4af9af122ca5366f9ffffe5f22fb (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')
-rw-r--r-- | users/app/designs/user/by_email_alias.js | 8 | ||||
-rw-r--r-- | users/app/designs/user/by_email_or_alias.js | 11 | ||||
-rw-r--r-- | users/app/models/user.rb | 29 |
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 |