Sha256: 9da75b05969bec2a1ab23b05a91bf7a764247593abd7386ba921afeb86867cb0

Contents?: true

Size: 661 Bytes

Versions: 4

Compression:

Stored size: 661 Bytes

Contents

module Pbw
  class Role
    include ::Mongoid::Document
    include ::Mongoid::Timestamps
    field :name, type: String
    attr_accessible :name
    has_many :users

    validates :name, presence: true, uniqueness: true

    has_and_belongs_to_many :permissions

    def set_permission(subject_class, action)
    	p = Permission.where(subject_class: subject_class, action: action)
    	p = Permission.create(subject_class: subject_class, action: action) unless p
    	self.permissions << p
    end

    def set_permissions(permissions)
    	permissions.each do |id|
    		permission = Permission.find(id)
    		self.permissions << p
    	end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pbw-0.0.6 app/models/pbw/role.rb
pbw-0.0.5 app/models/pbw/role.rb
pbw-0.0.4 app/models/pbw/role.rb
pbw-0.0.3 app/models/pbw/role.rb