This change brings some order to how we require files. Previously, we required
app files from everywhere, including pry.rb. Now we require app files only from
pry.rb.
External and stdlib dependencies are required at places where they're used, not
globally.
I realise that some code might be less readable now, but now that we set a good
default limit, we protect the codebase from further mess. It's important to do
this to prevent adding more mess to already messy code that we have. :doctor:
* Prevent Bundler from raising a LoadError when accessing input completions.
The scenario:
- $ mkdir foogem
- $ cd foogem
- $ echo "source 'https://rubygems.org'" > Gemfile
- $ bundle install
- $ pry -rbundler/setup
- type "foo".<tab> into Pry
Notice that a LoadError is raised when trying to require
"pry/input_completer". This happens because Pry is not in the
Gemfile, so once the sandbox is initialized by Bundler any require
for a Pry file is doomed to file.
Couple that with the fact that '_pry_.config.completer' is not
loaded until a user uses tab completion, and we end up with this
broken situation.
Just discovered this nice feature of RSpec where it can load all files for
us. Works with `bundle exec rake` and `bundle exec rspec spec/file_spec.rb`,
which covers all use cases.
* Abort early when searching for a superclass if the target method
has been called through 'super' keyword from a prepended module.
* mv spec/regression spec/integration
* add hanami integration spec