This repository has been archived by the owner on Jan 31, 2019. It is now read-only.
Multiple use of on('init') might cause inconsistencies #421
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.
I don't have a concrete issue, but I was looking for some other stuff and noticed this code -
https://github.com/DockYard/ember-validations/blob/master/addon/validators/base.js#L16
The base object is calling multiple functions using
on init
.Some of this functions are relying on other function on the
on init
process to finish (likepushConditionalDependentValidationKeys
that has to run beforeaddObserversForDependentValidationKeys
).But since the execution order of
on init
is not guaranteed this create a very fragile code.I made this pull request to fix this issue.
I couldn't get the automatic test to work so a more careful examination of this fix might be necessary .
P.S - On another look I think the
pushDependentValidationKeyToModel
is not really doing any thing so I removed it. It treated model.dependentValidationKeys as an object even it was an array, and it tries to addthis property
to it even though it was add in the maininit
function