Method: Acl9::ModelExtensions::ClassMethods#acts_as_authorization_subject
- Defined in:
- lib/acl9/model_extensions.rb
#acts_as_authorization_subject(options = {}) ⇒ Object
Add #has_role? and other role methods to the class. Makes a class a auth. subject class.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/acl9/model_extensions.rb', line 35 def ( = {}) assoc = [:association_name] || Acl9::config[:default_association_name] role = [:role_class_name] || Acl9::config[:default_role_class_name] join_table = [:join_table_name] || Acl9::config[:default_join_table_name] || join_table_name(undecorated_table_name(self.to_s), undecorated_table_name(role)) has_and_belongs_to_many assoc, :class_name => role, :join_table => join_table cattr_accessor :_auth_role_class_name, :_auth_subject_class_name, :_auth_role_assoc_name self._auth_role_class_name = role self._auth_subject_class_name = self.to_s self._auth_role_assoc_name = assoc include Acl9::ModelExtensions::ForSubject end |