Sha256: ffa9e8a80364f7ffe5065c4e277983c869bf7ba489a568cf3bdd713356bc80ae
Contents?: true
Size: 868 Bytes
Versions: 5
Compression:
Stored size: 868 Bytes
Contents
require 'roles_data_mapper/strategy/shared' class Symbol def admin? self == :admin end end module Roles::DataMapper module Strategy module Single include Shared # assigns first valid role from list of roles def add_roles *role_names new_roles = select_valid_roles(role_names) new_role = new_roles.first if !new_roles.empty? set_role new_role end # should remove the current single role (set = nil) # only if it is contained in the list of roles to be removed def remove_roles *role_names roles = role_names.flat_uniq set_empty_role if roles_diff(roles).empty? true end def roles_list raise 'the method #roles should be present' if !respond_to? :roles present_roles(roles) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems