def has_all_roles?(*roles)
      roles.flatten.map(&:to_sym).all? { |r| self.roles.include?(r) }
    end
def has_all_roles?(*roles)
      roles.flatten.map(&:to_sym).all? { |r| self.roles.include?(r) }
    end
:call-seq:
   has_all_roles?(:role)
   has_all_roles?('role')
   has_all_roles?(:role_1, ..., :role_n)
   has_all_roles?('role_1', ..., 'role_n')
   has_all_roles?([:role_1, ..., :role_n])
   has_all_roles?(['role_1', ..., 'role_n'])

 check if ALL of the given roles have been assigned
 this method is aliased as #is? and #has_roles?