Update UPGRADING notes regarding return usage and simplify endpoint execution#2621
Merged
dblock merged 3 commits intoNov 1, 2025
Merged
Conversation
1c6195b to
005c71d
Compare
dblock
approved these changes
Nov 1, 2025
dblock
left a comment
Member
There was a problem hiding this comment.
My usual nitpick, sorry! Fix and merge.
dblock
reviewed
Nov 1, 2025
005c71d to
e90ed9b
Compare
…lling in endpoint.
e90ed9b to
1857d26
Compare
dblock
reviewed
Nov 1, 2025
Co-authored-by: Daniel (dB.) Doubrovkine <dblock@dblock.org>
Co-authored-by: Daniel (dB.) Doubrovkine <dblock@dblock.org>
dblock
approved these changes
Nov 1, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Update UPGRADING notes regarding
returnusage and simplify endpoint executionSummary
This PR simplifies the endpoint execution code and improves the deprecation messaging for using
returnin endpoint blocks. It removes an unnecessary lambda wrapper and clarifies in documentation that developers should usenextinstead ofreturn.Changes
Code Simplification
Simplified
Grape::Endpoint#initialize: Removed the unnecessary@blocklambda wrapper that was created around the source block. The endpoint now directly stores the source block in@source.Simplified
Grape::Endpoint#execute: Moved the execution logic directly into theexecutemethod instead of wrapping it in a lambda. The method now:instance_exec(&@source)when a source block existsActiveSupport::NotificationsLocalJumpError(whenreturnis used)Documentation Updates
UPGRADING.md: Added clarification that developers should usenextinstead ofreturnwhen exiting early from endpoint blocks.Test Updates
nextinstead" guidance.Benefits
Related Issues/PRs
Related to #2577 where
returnin endpoint execution was initially deprecated.Testing
returnstill works but shows a deprecation warning)