This seems really weird to me. Is there a reason why the rubyntlm gem doesn't require its own version file itself when you require 'net/ntlm'? Seems very odd that anyone using ntlm would need to require that themselves.

Also, is there a reason to guard against doing this when the constant is already defined?

Sorry for all of the questions, I'm just curious -- I don't normally see a lot of ruby in this style.