Sha256: aec791b09acfd1aae79de7ebf3df5c1e533bdcb00d702e459f177b3d4a0dcadc
Contents?: true
Size: 743 Bytes
Versions: 2
Compression:
Stored size: 743 Bytes
Contents
module Spotlight ## # Spotlight user mixins for roles module User extend ActiveSupport::Concern included do has_many :roles, class_name: 'Spotlight::Role', dependent: :destroy before_create :add_default_roles end def superadmin? admin_roles.where(exhibit_id: nil).any? end def admin_roles roles.where(role: 'admin') end def add_default_roles roles.build role: 'admin' unless self.class.any? end def invite_pending? invited_to_sign_up? && !invitation_accepted? end alias_attribute :user_key, :email ## # Class-level user mixins module ClassMethods def find_by_user_key(key) find_by email: key end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
blacklight-spotlight-0.12.1 | app/models/concerns/spotlight/user.rb |
blacklight-spotlight-0.12.0 | app/models/concerns/spotlight/user.rb |