Remove dry-validation
from dependencies
#317
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #276
Problem
Having the dependency on a fix dry-validation version generates multiple issues:
Solution
We remove the dependency, but still check at runtime that the dependency is met if and only if the schema validation feature is used.
Other aspects
All of the changes described below are in a separate commit, I can revert it if it helps merging!
Ruby 2.1 compatibility
During the implementation, I had a bug with
Config
reloading. Thelib/config/compatibility.rb
introduces a bug that is really hard to debug (for me at least):Since this file was added for an EOL ruby version (2.1, per commit c4119fb), I removed it.
Usage of
require_relative
Helps be sure that we talk about the same file! Otherwise, it depends on
$LOAD_PATH
(or$:
)Dir[..].sort.each { require }
Make sure that the require order is not OS, or filesystem dependent
.ruby-version
I've removed the file, as for
Gemfile.lock
, the ruby version will in the end depend on the person using the gem, so developers of the gem should also be able to run it with their local ruby versions!Config::Error
Since there are now two possible errors, lets regroup those under the same banner! (not that it is not a breaking change since
.is_a?
will still behave the same)