{"id":26057526,"url":"https://github.com/folkengine/random_name_generator","last_synced_at":"2025-04-10T01:09:44.953Z","repository":{"id":48076015,"uuid":"53236498","full_name":"folkengine/random_name_generator","owner":"folkengine","description":"Random name generator in Ruby. Examples include Badoss Darratbraoss and Vrodamen Ded.","archived":false,"fork":false,"pushed_at":"2024-10-30T01:29:18.000Z","size":112,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T01:09:40.209Z","etag":null,"topics":["gem","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/folkengine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-06T03:53:15.000Z","updated_at":"2024-10-30T01:29:14.000Z","dependencies_parsed_at":"2024-10-30T02:42:23.553Z","dependency_job_id":null,"html_url":"https://github.com/folkengine/random_name_generator","commit_stats":{"total_commits":61,"total_committers":4,"mean_commits":15.25,"dds":0.1311475409836066,"last_synced_commit":"dda5d27eded61662f2c94178b0e3329c17833b62"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkengine%2Frandom_name_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkengine%2Frandom_name_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkengine%2Frandom_name_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkengine%2Frandom_name_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/folkengine","download_url":"https://codeload.github.com/folkengine/random_name_generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gem","ruby"],"created_at":"2025-03-08T11:23:51.733Z","updated_at":"2025-04-10T01:09:44.919Z","avatar_url":"https://github.com/folkengine.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RandomNameGenerator\n\n[![Gem Version](https://badge.fury.io/rb/random_name_generator.svg)](https://badge.fury.io/rb/random_name_generator)\n[![Build and Test](https://github.com/folkengine/random_name_generator/actions/workflows/ruby.yml/badge.svg)](https://github.com/folkengine/random_name_generator/actions/workflows/ruby.yml)\n[![Code Climate](https://codeclimate.com/github/folkengine/random_name_generator/badges/gpa.svg)](https://codeclimate.com/github/folkengine/random_name_generator)\n[![Inline docs](http://inch-ci.org/github/folkengine/random_name_generator.svg?branch=master)](http://inch-ci.org/github/folkengine/random_name_generator)\n\nRuby port of\n[java-random-name-generator](https://github.com/folkengine/java-random-name-generator),\nwhich in turn is a gradle enabled version of\n[Sinipull's GPL'd post on codecall.net](http://forum.codecall.net/topic/49665-java-random-name-generator/).\n\n**For other languages see\n[RandomNameGeneratorHub](https://github.com/folkengine/RandomNameGeneratorHub)**.\n\nThe big difference between this random name generator and others is that\nit allows you to create names in various custom styles such as Elven,\nand Roman. If you're looking for a quick name for a Goblin NPC,\nRandomNameGenerator is your gem.\n\n------\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'random_name_generator'\n```\n\nAnd then execute:\n\n    $❯ bundle install\n\nOr install it yourself as:\n\n    $❯ gem install random_name_generator\n\n## Usage\n\nRandomNameGenerator comes with several styles of syllable files:\n[Elven](https://github.com/folkengine/random_name_generator/blob/master/lib/languages/elven.txt),\n[Fantasy](https://github.com/folkengine/random_name_generator/blob/master/lib/languages/fantasy.txt),\n[Goblin](https://github.com/folkengine/random_name_generator/blob/master/lib/languages/goblin.txt),\nand\n[Roman](https://github.com/folkengine/random_name_generator/blob/master/lib/languages/roman.txt).\nBy default it uses Fantasy. Instantiate RandomNameGenerator and then\ncall compose on the object to generate a random name. If you don't pass\nin the number of syllables you want for your name to compose, it will\nrandomly pick between 3 and 6.\n\n```ruby\nrequire 'random_name_generator'\n\nrng = RandomNameGenerator.new\nputs rng.compose(3)\n```\n\n*Technically, `RandomNameGenerator.new` is a static factory method\ncreating a RandomNameGenerator::Generator object.*\n\nPass in a reference to specific syllable file to get different styles of\nrandom names:\n\n```\nrng = RandomNameGenerator.new(RandomNameGenerator::GOBLIN)\nputs rng.compose(3)\n```\n\nFlip mode will create a RandomNameGenerator object, randomly assigning\nthe syllable file for you.\n\n```ruby\nflip = RandomNameGenerator.flip_mode\nputs flip.compose\n```\n\nYou can also pass in your own syllable files. See\n[Syllable.rb](https://github.com/folkengine/random_name_generator/blob/master/lib/random_name_generator/syllable.rb)\nfor the required specification.\n\nRandomNameGenerator also comes with a command line interface which will\ngenerate a first and last name for you:\n\n```\nbin/random_name_generator [-efgr?]\n```\n\nAdd the gem's bin directory to you path in order to have instant access\nto RandomNameGenerator.\n\n## Porting and Refactoring Notes\n\nThe big refactoring over the original Java version is the creation of\nthe Syllable class. It takes over most of the complexity of parsing each\nsyllable, greatly simplifying the Random Name Generator code.\n\nPart of the reason for working on this gem was to work on the following\ngoals to improve my Ruby craft:\n\n* Code confidently in the spirit of Advi Grimm's\n  [Confident Ruby](http://www.confidentruby.com/).\n* ~~Use\n  [Travis-CI](https://travis-ci.org/folkengine/random_name_generator)\n  for build validation.~~ Moved to GitHub Actions.\n* Use [Rubocop](https://github.com/bbatsov/rubocop) and\n  [Reek](https://github.com/troessner/reek) for code quality.\n* Deploy it to\n  [RubyGems.org](https://rubygems.org/gems/random_name_generator).\n\n\n## Development\n\nAfter checking out the repo, run `$❯ bin/setup` to install dependencies.\nThen, run `$❯ rake spec` to run the tests. You can also run `$❯\nbin/console` for an interactive prompt that will allow you to\nexperiment.\n\nTo install this gem onto your local machine, run `bundle exec rake\ninstall`. To release a new version, update the version number in\n`version.rb`, and then run `bundle exec rake release`, which will create\na git tag for the version, push git commits and the created tag, and\npush the `.gem` file to [rubygems.org](https://rubygems.org).\n\nTo run [Reek](https://github.com/troessner/reek) on the codebase, simply\ncall `$❯ rake reek`\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at\nhttps://github.com/folkengine/random_name_generator.\n\n## License\n\nThe gem is available as open source under the terms of the\n[GNU Lesser General Public License version 3](https://opensource.org/licenses/LGPL-3.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolkengine%2Frandom_name_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffolkengine%2Frandom_name_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolkengine%2Frandom_name_generator/lists"}