Sha256: b4334eef27a83f8c960853a3deaabf08639cc524d771c3bb8cbb11a7a1eba862

Contents?: true

Size: 959 Bytes

Versions: 1

Compression:

Stored size: 959 Bytes

Contents

module CanTango
  class Ability
    module RoleHelpers

      include CanTango::Helpers::RoleMethods

      # return list roles the user has
      # TODO: should also fetch roles of all role_groups! (or is this responsibility of roles_list?)
      def roles
        raise "#{subject.inspect} should have a #{roles_list_meth} method" if !subject.respond_to?(roles_list_meth)
        subj_roles = subject.send(roles_list_meth)
        return [] if subj_roles.blank?
        subj_roles.flatten
      end

      # return list of symbols for role groups the user belongs to
      # TODO: use roles filter here? or better in #valid? of selector ?
      def role_groups
        raise "#{subject.inspect} should have a #{role_groups_list_meth} method" if !subject.respond_to?(role_groups_list_meth)
        subj_role_groups = subject.send(role_groups_list_meth)
       return [] if subj_role_groups.blank?
        subj_role_groups.flatten
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cantango-0.8.0 lib/cantango/ability/role_helpers.rb