Sha256: e03ec10b8055d839175a1ca512a078bbf0cbc1cced6964e218a036efce8c058e
Contents?: true
Size: 664 Bytes
Versions: 3
Compression:
Stored size: 664 Bytes
Contents
class AccountRole < ActiveRecord::Base belongs_to :account_user validate :valid_role? validates_uniqueness_of :name, :scope => :account_user_id, :allow_nil => false validates_presence_of :account_user attr_accessible :name before_destroy do false if only_owner? end def self.roles APP_ROLES['roles'] end private def valid_role? errors.add(:name, "errors.messages.invalid_role") unless APP_ROLES['roles'].include? name end def only_owner? self.name == APP_ROLES['owner_role'] && AccountRole.joins(:account_user).where('account_users.account_id = ? AND name = ?', account_user.account_id, :owner).count <= 1 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
iugusdk-1.0.0.alpha.5 | app/models/account_role.rb |
iugusdk-1.0.0.alpha.4 | app/models/account_role.rb |
iugusdk-1.0.0.alpha.3 | app/models/account_role.rb |