Skip to content

topmi/columns-roles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Use for

To add simple roles feature to a model (like user) in a integer field.

Install

include in Gemfile:

gem 'columns-roles'

Usage

in a model with a field named 'roles_mask' (you can use any other field name):

# generate a model with a integer field
create_table :users, :force => true do |t|
  t.column :roles_mask, :integer
end

class User < ActiveRecord::Base
  # you can change to another field
  columns_roles :roles_mask, :roles => [:admin, :manager, :teacher, :student]
end

then

@user.roles
# -> []

@user.role = :manager
@user.save
@user.roles
# -> [:manager]

@user.set_role :admin
@user.save
@user.roles
# -> [:admin]

@user.role? :admin
@user.is_admin?
# -> true

@user.role? :teacher
@user.is_teacher?
# -> false

@user.role
# -> :admin
# return user's first role

User.with_role :admin
# -> scope [...]

TODO

to support multi-roles setting

About

table in column add roles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages