Ease extension of Slugify class #44
Merged
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.
I made a few minor changes.
Changed the visibility of rules and rulesets properties to protected to allow them to be overriden or used in child classes while extending Slugify.
Maybe using a getter for the rules property would do the same job, but this was my approach.
Added a third optional param to the
slufigymethod with the regular expression to be applied to the string.I made this because I needed to allow other characters in the slug, like dots for filenames. I didn't want
My Cool File.zipto becomemy-cool-file-zipbutmy-cool-file.zip.I wasn't sure if that argument should be set in the constructor or in this method, but I think this is good enough.
I was thinking also on giving the option to define if the string should be lowered or not, but I'm not sure what's the best way to do that.