MONGOID-5653 - Move Hash#__nested__ monkey patch method to new module Mongoid::Attributes::Embedded.traverse #5692
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.
Hash#__nested__
is an unnecessary monkey patch which is only used in one place. Let's remove it.Moreover, it's logic duplicates the code in
Mongoid::Reloadable#extract_embedded_attributes
This PR consolidates and refactors the logic, and fixes a number of edge-cases and adds lots of specs.
This PR also removes the
maybe_integer
Util method, because it doesn't do the correct thing. For example, a Hash may have a string literal key"100"
, butmaybe_integer
will always convert this to numeric 100. (This case was actually covered in the pre-existing__nested__
specs.)