Method: Rolify::Role#add_role
- Defined in:
- lib/rolify/role.rb
#add_role(role_name, resource = nil) ⇒ Object Also known as: grant
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/rolify/role.rb', line 12 def add_role(role_name, resource = nil) role = self.class.adapter.find_or_create_by(role_name.to_s, (resource.is_a?(Class) ? resource.to_s : resource.class.name if resource), (resource.id if resource && !resource.is_a?(Class))) if !roles.include?(role) self.class.define_dynamic_method(role_name, resource) if Rolify.dynamic_shortcuts self.class.adapter.add(self, role) end role end |