Sluggo

Sometimes, we just want a string of quasi-random gobbledeygook to use as a token of some sort. We may want these strings to be unique (or at least somewhat close to it), or we may just them to be a given length.

That's what this is for.

Important Note

This is very much not ready for primetime. I'm only releasing right now so as to stop working on it and accept a baseline.

Install

You can add it to your Gemfile:

gem 'sluggo'

Or you can do it the hard way:

gem install sluggo

Usage

require 'sluggo'

# Let's get a 6-character random base62 slug

slug = Sluggo::Random.base62(6)

# Heck, let's get a possibly unique 6-character base62 slug
# This works by passing a block to the rare method. If the block
# returns true, we assume that the proposed slug is unique and
# return it. We're going to assume that we're working with a
# Widget with a .open_key? method that returns true if the 
# supplied key isn't in use.

slug = Sluggo.rare(length: 6) {|slug| Widget.open_key?(slug)}

License

MIT License. Copyright 2013 Ess