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

Version Path
message_train-0.5.2 spec/dummy/app/models/role.rb
message_train-0.5.1 spec/dummy/app/models/role.rb
message_train-0.5.0 spec/dummy/app/models/role.rb
message_train-0.4.6 spec/dummy/app/models/role.rb
message_train-0.4.5 spec/dummy/app/models/role.rb
message_train-0.4.4 spec/dummy/app/models/role.rb
message_train-0.4.3 spec/dummy/app/models/role.rb
message_train-0.4.2 spec/dummy/app/models/role.rb
message_train-0.4.1 spec/dummy/app/models/role.rb
message_train-0.4.0 spec/dummy/app/models/role.rb
message_train-0.3.1 spec/dummy/app/models/role.rb
message_train-0.3.0 spec/dummy/app/models/role.rb
message_train-0.2.12 spec/dummy/app/models/role.rb
message_train-0.2.11 spec/dummy/app/models/role.rb
message_train-0.2.10 spec/dummy/app/models/role.rb
message_train-0.2.9 spec/dummy/app/models/role.rb
message_train-0.2.8 spec/dummy/app/models/role.rb
message_train-0.2.7 spec/dummy/app/models/role.rb
message_train-0.2.6 spec/dummy/app/models/role.rb
message_train-0.2.5 spec/dummy/app/models/role.rb