rapid7/metasploit-framework — pull request #3815 by todb-r7 (2014-09-17 20:51:47+00:00)
Title: Explicitly require credential_collection

Otherwise, you run into a require ordering problem on some platforms. This is not a great way to fix this -- but it's a fast way, and possibly even a good way, since you're being explicit about what your module
requirements are.

## Verification steps
- [ ] Ensure all modules load, and no module throws, `NameError uninitialized constant Metasploit::Framework::CredentialCollection`

Note, this is race-ish condition and you may not run into this problem. It depends on some local system variables that I don't think we've ever been able to pin down, even in the era of post modules having the same problem.

For background on this kind of problem, see [this search](https://github.com/rapid7/metasploit-framework/pulls?q=is%3Aclosed+is%3Apr+%22uninitialized+constant%22+) and note all the errors fixed for post modules. @jlee-r7 had some clever fix for avoiding this, eventually, but I forget what it is.

/cc @kgray-r7