-
Notifications
You must be signed in to change notification settings - Fork 40
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
Accept lowercase Z (1z..) for UPS tracking numbers #102
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe changes involve updating the regex pattern in Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- couriers/ups.json (2 hunks)
Additional comments not posted (2)
couriers/ups.json (2)
9-9
: Approve the regex pattern change.The updated regex pattern ensures that both uppercase 'Z' and lowercase 'z' are accepted in UPS tracking numbers, which aligns with the PR objective.
131-131
: Approve the addition of the new valid tracking number example.The new valid tracking number example containing a lowercase 'z' provides a test case for the updated regex pattern, ensuring the pattern works as intended.
It's a good question. Currently the tracking number gem upcases all the text it compares, but it might be a good change to change all the regexes to be case insensitive across the board in this data library. It'd require a couple of test updates (to make sure each is case insensitive), modifying all the character rules and then probably bumping the major version of this repo, but I think all that makes sense ultimately! |
That piqued my interest, as the trouble that lead me here was some sloppy data with lowercase "z"'s that weren't being picked up. On quick read, it looks like initializing a new tracking number upcases it: However, I don't think that's true of searching/scanning a chuck of text for tracking numbers, right? In my case, I have an arbitrary DB field that could contain one or more tracking numbers, from any carrier, with unrelated text, so I'm using Regex case-sensitivity aside, tweaking that to I could open a PR on the gem to address that until it's decided whether the regexes themselves should be case-insensitive. |
@cgunther I think that's a good interim solution, and makes sense to me. A PR on the tracking number gem with that change would be great. Thanks! |
The regexps define the search pattern in terms of uppercase characters, so when the source data you're searching contains lowercase tracking numbers, they don't match. By upcasing the body before searching, it's more likely to match the search patterns. This also matches that initializing a new `TrackingNumber` object upcases the number for its internal value. Inspired by: jkeen/tracking_number_data#102 Meant as an interim solution until it's decided whether the source regexps should be case-sensitive or not.
The regexps define the search pattern in terms of uppercase characters, so when the source data you're searching contains lowercase tracking numbers, they don't match. By upcasing the body before searching, it's more likely to match the search patterns. This also matches that initializing a new `TrackingNumber` object upcases the number for its internal value. Inspired by: jkeen/tracking_number_data#102 Meant as an interim solution until it's decided whether the source regexps should be case-sensitive or not.
…85) The regexps define the search pattern in terms of uppercase characters, so when the source data you're searching contains lowercase tracking numbers, they don't match. By upcasing the body before searching, it's more likely to match the search patterns. This also matches that initializing a new `TrackingNumber` object upcases the number for its internal value. Inspired by: jkeen/tracking_number_data#102 Meant as an interim solution until it's decided whether the source regexps should be case-sensitive or not.
I realize UPS probably always treats the Z as uppercase, however I'm dealing with some messy data where it's sometimes lowercase, so I'm curious if this is something that should be solved at the library level, or in the application.
Summary by CodeRabbit