Skip to content

Instantly share code, notes, and snippets.

@evaisse
Last active June 30, 2020 18:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evaisse/19338722f56c2c739ebf8d159c8223a8 to your computer and use it in GitHub Desktop.
Save evaisse/19338722f56c2c739ebf8d159c8223a8 to your computer and use it in GitHub Desktop.
Ruby Slugify
def slugify str
str.ljust(100)
.gsub(/[\W\s\t\r\n\f]/, ' ')
.strip
.gsub(/\s\s+/, '')
.gsub(' ', '_')
.gsub(/\W/,'')
.gsub('_', '-')
.downcase
end
# all generate "kka-a"
puts JSON.generate slugify("kka -a ")
puts JSON.generate slugify("kka -a ")
puts JSON.generate slugify(" kkaé! -A ")
puts JSON.generate slugify(" kkaé! --A ")
puts JSON.generate slugify(" kkaé! --A -")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment