Sha256: a88a372142691472dd093c701b1a12624e6243cb9da5141aebc031fc00e6a745
Contents?: true
Size: 843 Bytes
Versions: 31
Compression:
Stored size: 843 Bytes
Contents
module Saucy module User extend ActiveSupport::Concern included do attr_accessible :name, :project_ids, :email, :password has_many :memberships has_many :accounts, :through => :memberships has_many :permissions has_many :projects, :through => :permissions validates_presence_of :name end module InstanceMethods def admin_of?(account) memberships.exists?(:account_id => account.id, :admin => true) end def member_of?(account_or_project) account_or_project.has_member?(self) end end module ClassMethods def search(query) return [] if query.nil? where ['users.email like :query or users.name like :query', { :query => "%#{query}%" }] end def by_name order('users.name') end end end end
Version data entries
31 entries across 31 versions & 1 rubygems