Skip to content

yosriady/haiku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Haiku

Generates memorable names similar to Xaddress or Heroku. Supports custom words, custom delimiters, and custom reducer functions.

Installation

Add haiku to your list of dependencies in mix.exs:

def deps do
  [{:haiku, "~> 0.3.1"}]
end

Usage

iex> Haiku.build
"quiet-morning-5933"

iex> Haiku.build(delimiter: '.')
"quiet.morning.5933"

iex> Haiku.build(range: 99)
"quiet-morning-45"

iex> Haiku.build(delimiter: '.', range: 99)
"quiet.morning.45"

Configuration

In your config.exs:

config :haiku,
        delimiter: '.',
        range: 9999,
        adjectives: ~w(autumn hidden bitter misty),
        nouns: ~w(meadow sun glade bird)
        reducer_module: MyModule
        reducer_function: :custom_reduce

Note that reducer_function/4 has 4-arity and expects the following order: [delimiter, adjective, noun, number]. It must return a string. For example:

def custom_reduce(delimiter, adjective, noun, number) do
 "#{number}#{if number, do: delimiter}#{adjective}#{noun}""
end

Thanks

haiku © 2016+, Yos Riady. Released under the MIT License.
Authored and maintained by Yos Riady with help from contributors (list).

yos.io  ·  GitHub @yosriady

About

🗻 Generate memorable names similar to Xaddress or Heroku

Topics

Resources

Stars

Watchers

Forks

Languages