is AssociationProxy a subclass or a module of Association?

In the Rails documentation, it shows Association::AssociationProxy, and I know that in ruby :: operator is a reference to a constant, and a constant can either be a module or a class. So I ask because I'm just curious how the two behave together. Thanks for response.