You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@bramleyjl This PR contains only 1 commit vs the one you created with 6 commits.
This PR is for a fix to the compute_digest method that was rendering a nil digest after Base64-encoding it. The reason for this bug is the usage of strip!, a method that returns nil if no whitespace is found on either end of the string to be stripped. By replacing it with strip, an identical method that will return the original string if no whitespace is found to be stripped, this bug can be prevented.
Indeed, as lots of Ruby bang methods, #strip! returns nil if it didn't make any change to its receiver. 🎯
But those methods are also known to be more efficient (especially with big objects), as they mutate their receivers instead of duplicating it.
So if you want the best of both worlds (knowing that here mutation didn't generate any problem by itself), you could also have done Base64.encode64(digest).tap(&:strip!).
You probably already know that, but the short explanation is that the #tap method allows us to do whatever we want with its receiver in its block, then returns the receiver itself (i.e. not what the block returns). Therefore here, the receiver will be mutated by #strip! in the block, then #tap will return this mutated receiver itself instead of the #strip! method result (which could be nil indeed). 🙂
Nevertheless I am not familiar with this gem, so I have no idea if it would have had any impact here.
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
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.
This PR replaces #647, Issue reported at #603
@bramleyjl This PR contains only 1 commit vs the one you created with 6 commits.
This PR is for a fix to the compute_digest method that was rendering a nil digest after Base64-encoding it. The reason for this bug is the usage of strip!, a method that returns nil if no whitespace is found on either end of the string to be stripped. By replacing it with strip, an identical method that will return the original string if no whitespace is found to be stripped, this bug can be prevented.