Suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat
Go to file
Fletcher Nichol 67a5a7ffc8 Release 0.9.0. 2015-09-22 10:29:59 -06:00
cli Add MIT license. 2015-09-22 10:08:34 -06:00
src Add README.md. 2015-09-22 10:19:09 -06:00
.gitignore Extract cli into a subproject. 2015-09-22 09:15:03 -06:00
.travis.yml Redirect GitHub pages to names/index.html. 2015-09-22 10:00:34 -06:00
CHANGELOG.md Release 0.9.0. 2015-09-22 10:29:59 -06:00
Cargo.toml Exclude `cli/` in main project. 2015-09-22 10:25:28 -06:00
LICENSE-MIT Add MIT license. 2015-09-22 10:08:34 -06:00
README.md Update crate link. 2015-09-22 10:20:12 -06:00

README.md

names

Build Status license

Random name generator for Rust

Usage

This crate is on crates.io and can be used by adding names to your dependencies in your project's Cargo.toml file:

[dependencies]
names = "0.9.0"

and this to your crate root:

extern crate names;

Example: Painless defaults

The easiest way to get started is to use the default Generator to return a name:

use names::{Generator, Name};

fn main() {
    let mut generator = Generator::default(Name::Plain);

    println!("Your project is: {}", generator.next().unwrap());
    // #=> "Your project is: rusty-nail"
}

If more randomness is required, you can generate a name with a trailing 4-digit number:

use names::{Generator, Name};

fn main() {
    let mut generator = Generator::default(Name::Numbered);
    println!("Your project is: {}", generator.next().unwrap());
    // #=> "Your project is: pushy-pencil-5602"
}

Example: with custom dictionaries

If you would rather supply your own custom adjective and noun word lists, you can provide your own by supplying 2 string slices. For example, this returns only one result:

use names::{Generator, Name};

fn main() {
    let adjectives = &["imaginary"];
    let nouns = &["roll"];
    let mut generator = Generator::new(adjectives, nouns, Name::Plain);

    assert_eq!("imaginary-roll", generator.next().unwrap());
}