package roles import "slices" type subject struct { roles []string } // NewSubject creates a role-bearing subject. func NewSubject(roles ...string) IHasRole { return &subject{roles: roles} } func (s *subject) HasRole(role string) bool { return slices.Contains(s.roles, role) }