module Roles

Constants

VERSION

Attributes

role_cname[RW]
user_cname[RW]

Public Instance Methods

resourcify(options = {}) click to toggle source
# File lib/roles.rb, line 24
def resourcify(options = {})
  include Resource
  
  options.reverse_merge!({ :role_cname => 'Role', :dependent => :destroy, :user_cname => 'User' })
  resourcify_options = { :class_name => options[:role_cname].camelize, :as => :resource, :dependent => options[:dependent] }
  
  self.role_cname = options[:role_cname]
  self.user_cname = options[:user_cname]

  has_many self.role_table.to_sym, resourcify_options
end
role_class() click to toggle source
# File lib/roles.rb, line 48
def role_class
  @role_class ||= self.role_cname.constantize
end
role_table() click to toggle source
# File lib/roles.rb, line 40
def role_table
  @role_table ||= self.role_cname.tableize
end
rolify(options = {}) click to toggle source
# File lib/roles.rb, line 9
def rolify(options = {})
  include Role
  
  options.reverse_merge!({:role_cname => 'Role'})
  options.reverse_merge!({:user_cname => 'User'})

  roles_options = { :class_name => options[:role_cname].camelize, :dependent => :destroy }
  roles_options.merge!(options.select{ |k,v| [:before_add, :after_add, :before_remove, :after_remove].include? k.to_sym })

  self.role_cname = options[:role_cname]
  self.user_cname = options[:user_cname]

  has_many self.role_table.to_sym, roles_options
end
user_class() click to toggle source
# File lib/roles.rb, line 44
def user_class
  @user_class ||= self.user_cname.constantize
end
user_table() click to toggle source
# File lib/roles.rb, line 36
def user_table
  @user_table ||= self.user_table.tableize
end