Sha256: 4b4460bd801f2f3b33cd0fb636fd6fd69017e024673ba7cac3fb3b51a18fa979
Contents?: true
Size: 822 Bytes
Versions: 25
Compression:
Stored size: 822 Bytes
Contents
class Role < ActiveRecord::Base has_and_belongs_to_many :users, :join_table => :users_roles belongs_to :resource, :polymorphic => true validates :resource_type, :inclusion => { :in => Rolify.resource_types }, :allow_nil => true scopify # MessageTrain Gem message_train except: :sender, valid_senders: :superadmins, name_column: :capitalized_name, slug_column: :name, collectives_for_recipient: :sendable_roles, valid_recipients: :recipients scope :sendable_roles, ->(user) { where(resource: nil).where.not(name: 'superadmin') } def recipients User.with_role(self.name.to_sym) end def superadmins User.with_role(:superadmin) end def capitalized_name name.capitalize end end
Version data entries
25 entries across 25 versions & 1 rubygems