Skip to content

Forward :context option from #save and #save!#468

Open
seanpdoyle wants to merge 1 commit intorails:mainfrom
seanpdoyle:validates_context
Open

Forward :context option from #save and #save!#468
seanpdoyle wants to merge 1 commit intorails:mainfrom
seanpdoyle:validates_context

Conversation

@seanpdoyle
Copy link
Copy Markdown
Contributor

@seanpdoyle seanpdoyle commented Dec 18, 2025

Forward the :context option from Base#save and Base#save! to the
underlying Validations#valid? call.

The argument delegation changes to this method signature are necessary
for the sake of the ActiveResource::Validations#save_with_validation
method. The ActiveResource::Validations module aliases the previously
defined #save method to a #save_without_validation method, and then
defines its own #save_with_validation method which accepts arguments
(previously the :validate option, now the :validate and :context
option).

This commit also includes test coverage for directly calling
Validations#valid? with a context value, since that behavior wasn't
covered by tests elsewhere in the suite.

Forward the `:context` option from `Base#save` and `Base#save!` to the
underlying `Validations#valid?` call.

The argument delegation changes to this method signature are necessary
for the sake of the [ActiveResource::Validations#save_with_validation][]
method. The `ActiveResource::Validations` module aliases the previously
defined `#save` method to a `#save_without_validation` method, and then
defines its own `#save_with_validation` method which accepts arguments
(previously the `:validate` option, now the `:validate` *and* `:context`
option).

This commit also includes test coverage for directly calling
`Validations#valid?` with a `context` value, since that behavior wasn't
covered by tests elsewhere in the suite.

[ActiveResource::Validations#save_with_validation]: https://github.com/rails/activeresource/blob/v6.2.0/lib/active_resource/validations.rb#L111
@seanpdoyle seanpdoyle force-pushed the validates_context branch from 77f5ab2 to 1ac9b5f Compare May 7, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant