Skip to content
Generate consistent-codenames from any string (Heroku style, aka Haiku).
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin fix specs Jun 21, 2018
lib version bump Jan 11, 2019
port get version 0 out of its zip Jun 22, 2018
spec Remove dev dependencies (#4) Jan 11, 2019
.codeclimate.yml exclude spec from codeclimate Jun 21, 2018
.gitignore add stats printer Jun 22, 2018
.rspec initial commit Jun 20, 2018
.travis.yml maintenance update (#5) May 11, 2019
Gemfile Remove dev dependencies (#4) Jan 11, 2019
LICENSE initial commit Jun 20, 2018
README.md maintenance update (#5) May 11, 2019
Runfile
concode.gemspec Remove dev dependencies (#4) Jan 11, 2019

README.md

Concode

Gem Version Build Status Maintainability


Generate consistent-codenames from any string (Heroku style, aka Haiku).

This is a Ruby port of Python's codenamize.


Installation

$ gem install concode

Feature Highlights

  • Use as a Ruby library or from the command line
  • Generate heroku-style / docker-style consistent codenames from any string (e.g. IP address, git commit hash)
  • Control the number of words, and number of letters in each word
  • Compatibility with Python's codenamize (both libraries will generate the same codes given the same string)
  • Limitless combinations (over 1.7 million for 2 words, and 1.8 billion for 3 words)

Command Line Usage

$ concode --help

Usage:
  concode <string> [options]
  concode --random [options]
  concode --count [options]
  concode (-h|--help|-v|--version)

Options:
  -w, --words N        Number of words to generate
  -c, --chars N        Max characters per word
  -g, --glue CHAR      Word separator
  -C, --caps           Capitalize words
  -n, --count          Count possible combinations
  -r, --random         Generate a random code
  -h, --help           Show this message
  -v, --version        Show version

Examples

$ concode hello
plausible-term

$ concode hello --words 3
ancient-plausible-term

$ concode hello --words 3 --chars 3 --caps --glue ' '
Cut Red Bar

$ concode --random -w4
cruel-aggressive-cute-world

Library Usage

require 'concode'

# basic use:

generator = Concode::Generator.new
puts generator.generate 'something annoying'
# => annoyed-poem

# or, with all the options:

generator = Concode::Generator.new words: 3, chars: 4, capitalize: true, glue: ' '
puts generator.generate 'something annoying'
# => Wise Rude Boot

# get the available combinations with:

puts generator.word_count
# => 7402200

Credits

Thanks to Jose Juan Montes (@jjmontesl) for developing and documenting codenamize.

You can’t perform that action at this time.