adjective_adjective_animal

Crates.ioadjective_adjective_animal
lib.rsadjective_adjective_animal
version0.1.0
sourcesrc
created_at2018-08-07 04:16:11.157001
updated_at2018-08-07 04:16:11.157001
descriptionA library to generate suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat
homepagehttps://github.com/moparisthebest/adjective-adjective-animal
repositoryhttps://github.com/moparisthebest/adjective-adjective-animal.git
max_upload_size
id77966
size123,465
Travis Burtrum (moparisthebest)

documentation

https://github.com/moparisthebest/adjective-adjective-animal

README

adjective_adjective_animal

Build Status license

Rust library to generate suitably random and reasonably unique human readable (and fairly adorable) ids, ala GiphyCat

Usage

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

[dependencies]
adjective_adjective_animal = "0.1.0"

and this to your crate root:

extern crate adjective_adjective_animal;

Example: Painless defaults

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

use adjective_adjective_animal::Generator;

fn main() {
    let mut generator = Generator::default();
    println!("Your project is: {}", generator.next().unwrap());
    // #=> "Your project is: IndustrialSecretiveSwan"
    
}

Example: with custom dictionaries

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

use adjective_adjective_animal::Generator;

fn main() {
    let adjectives = &["Imaginary"];
    let animals = &["Bear"];
    let mut generator = Generator::new(adjectives, animals);

    assert_eq!("ImaginaryImaginaryBear", generator.next().unwrap());
}

Credits

  • rust's names crate, which this is forked from
  • npm's adjective-adjective-animal for lists
    • curl 'https://raw.githubusercontent.com/a-type/adjective-adjective-animal/master/lib/lists/animals.js' | grep -Eo '"[^"]+"' | tr -d '"' | tr '[:upper:]' '[:lower:]' | sed 's/.*/\u&/' | sort | uniq > animals.txt
    • curl 'https://raw.githubusercontent.com/a-type/adjective-adjective-animal/master/lib/lists/adjectives.js' | grep -Eo '"[^"]+"' | tr -d '"' | tr '[:upper:]' '[:lower:]' | sed 's/.*/\u&/' | sort | uniq > adjectives.txt
Commit count: 47

cargo fmt