Sha256: 6f02c72aa74cec8bfc81e300485a1a7cd223ebf84c89c4dfca19e15944ffb06f

Contents?: true

Size: 764 Bytes

Versions: 15

Compression:

Stored size: 764 Bytes

Contents

module CanTango
  class Ability
    module RoleHelpers

      include CanTango::Helpers::RoleMethods

      # return list roles the user has
      def roles
        return [] if !subject.respond_to?(roles_list_meth) || roles_of(subject).blank?
        roles_of(subject).flatten
      end

      # return list of symbols for role groups the user belongs to
      def role_groups
        return [] if !subject.respond_to?(role_groups_list_meth) || role_groups_of(subject).blank?
        role_groups_of(subject).flatten
      end

      protected

      def role_groups_of subject
        @subj_role_groups ||= subject.send(role_groups_list_meth)
      end

      def roles_of subject
        @subj_roles ||= subject.send(roles_list_meth)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
cantango-0.9.4.7 lib/cantango/ability/role_helpers.rb
cantango-0.9.4.6 lib/cantango/ability/role_helpers.rb
cantango-0.9.4.5 lib/cantango/ability/role_helpers.rb
cantango-0.9.4.3 lib/cantango/ability/role_helpers.rb
cantango-0.9.4.2 lib/cantango/ability/role_helpers.rb
cantango-0.9.4.1 lib/cantango/ability/role_helpers.rb
cantango-0.9.4 lib/cantango/ability/role_helpers.rb
cantango-0.9.3.2 lib/cantango/ability/role_helpers.rb
cantango-0.8.9.5 lib/cantango/ability/role_helpers.rb
cantango-0.8.9.4 lib/cantango/ability/role_helpers.rb
cantango-0.8.9.3 lib/cantango/ability/role_helpers.rb
cantango-0.8.9.2 lib/cantango/ability/role_helpers.rb
cantango-0.8.9.1 lib/cantango/ability/role_helpers.rb
cantango-0.8.9 lib/cantango/ability/role_helpers.rb
cantango-0.8.8.1 lib/cantango/ability/role_helpers.rb