Created
October 25, 2016 03:19
-
-
Save adamcrown/e10d4b8a16615bd4f459cc8e57127b50 to your computer and use it in GitHub Desktop.
couchrest_model User model
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class User < CouchRest::Model::Base | |
self.database = server.database('_users') | |
def self.model_type_value() 'user' end | |
property :name | |
property :password | |
property :roles | |
property :_id | |
before_save :generate_id, :assign_admin_role | |
design do | |
view :all, | |
map: "function(doc) { | |
if (doc['couchrest-type'] == 'user') { | |
emit(doc['_id'],1); | |
} | |
}" | |
end | |
private | |
def generate_id | |
self._id = "org.couchdb.user:#{name}" | |
end | |
def unique_user_name | |
user = User.get(generate_id) | |
return true if user.nil? || _id == user._id | |
[false, 'User name has already been taken! Please select a new User name'] | |
end | |
def assign_admin_role | |
self.roles ||= [] | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment