-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose which keys were overridden by the user #1649
Comments
The list of keys is already exposed in the evaluator using the private undocumented method I personnaly use it to "sync" associations' associations like so : transient do
school do
if __override_names__.include?(:exam)
exam.school
elsif __override_names__.include?(:student)
student.school
else
association :school
end
end
end
exam { association :exam, school: school }
student { association :student, school: school } So you technically already can use this in the callbacks but it is undocumented and not part of the public API after(:build) do |instance, evaluator|
evaluator.__override_names_
end |
I've submitted a pull request that will make it easier to check which keys were overridden by the user, and which by the factory: #1695. let me know if this works for you. |
The
context
, as passed to the various hooks, does not tell us whether a key was overridden by the user when building/creating/stubbing the object. This means we can't know whether a value is the default, or intentionally set.Let's expose this on the
context
. It could be as simple as a list of keys set by the user.The text was updated successfully, but these errors were encountered: