Skip to content

Instantly share code, notes, and snippets.

@pacifists
Created August 27, 2010 06:43
Show Gist options
  • Save pacifists/552932 to your computer and use it in GitHub Desktop.
Save pacifists/552932 to your computer and use it in GitHub Desktop.
class User
include Mongoid::Document
include Mongoid::Timestamps
after_create :create_initial_project
field :name
field :role, :default => 'user'
index :role
index :email, :unique => true
references_many :projects, :dependent => :destroy
validates_presence_of :name, :message => "negali būti tuščias"
# for some devise known reasons... email is already validated for uniqueness somewhere so double validation happens
#validates_uniqueness_of :email, :case_sensitive => false, :message => 'Toks el. pašto adresas jau užimtas'
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable and :timeoutable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable, :rpx_connectable
ROLES = %w[admin user]
def is?(role)
self.role == role.to_s
end
def nice_names
{
:name => 'Vardas',
:email => 'El. paštas',
:password => 'Slaptažodis'
}
end
def before_rpx_connect(rpx_user)
logger.info('------------')
logger.info(rpx_user.inspect)
end
def after_rpx_connect(rpx_user)
logger.info('------------')
logger.info(rpx_user.inspect)
end
protected
def create_initial_project
project = Project.create({:name => 'Mano finansai', :owners => [self.id]})
self.projects << [project]
self.save
end
def remove_own_projects
self.projects
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment