From 9c7d56aa0b4c954398cfc623989a8d4956e23476 Mon Sep 17 00:00:00 2001 From: Jennifer Konikowski Date: Sat, 5 May 2018 17:13:46 -0400 Subject: [PATCH] adds both inclusive and binary gender option --- README.md | 1 + doc/gender.md | 6 ++++++ lib/faker/gender.rb | 13 +++++++++++++ lib/locales/en/gender.yml | 5 +++++ test/test_faker_gender.rb | 15 +++++++++++++++ 5 files changed, 40 insertions(+) create mode 100644 doc/gender.md create mode 100644 lib/faker/gender.rb create mode 100644 lib/locales/en/gender.yml create mode 100644 test/test_faker_gender.rb diff --git a/README.md b/README.md index 6c1c10cafc..5c76585ed7 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ Contents - [Faker::Food](doc/food.md) - [Faker::Friends](doc/friends.md) - [Faker::GameOfThrones](doc/game_of_thrones.md) + - [Faker::Gender](doc/gender.md) - [Faker::Hacker](doc/hacker.md) - [Faker::HarryPotter](doc/harry_potter.md) - [Faker::HeyArnold](doc/hey_arnold.md) diff --git a/doc/gender.md b/doc/gender.md new file mode 100644 index 0000000000..9270d667d2 --- /dev/null +++ b/doc/gender.md @@ -0,0 +1,6 @@ +# Faker::Gender + +```ruby +Faker::Gender.type #=> "Non-binary" +Faker::Gender.binary_type #=> "Female" +``` diff --git a/lib/faker/gender.rb b/lib/faker/gender.rb new file mode 100644 index 0000000000..4fb4edf756 --- /dev/null +++ b/lib/faker/gender.rb @@ -0,0 +1,13 @@ +module Faker + class Gender < Base + class << self + def type + fetch('gender.types') + end + + def binary_type + fetch('gender.binary_types') + end + end + end +end diff --git a/lib/locales/en/gender.yml b/lib/locales/en/gender.yml new file mode 100644 index 0000000000..5c1b26fdde --- /dev/null +++ b/lib/locales/en/gender.yml @@ -0,0 +1,5 @@ +en: + faker: + gender: + types: ["Female", "Male", "Non-binary", "Agender", "Genderfluid", "Genderqueer", "Bigender", "Polygender"] + binary_types: ["Female", "Male"] diff --git a/test/test_faker_gender.rb b/test/test_faker_gender.rb new file mode 100644 index 0000000000..e8bc479a89 --- /dev/null +++ b/test/test_faker_gender.rb @@ -0,0 +1,15 @@ +require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb') + +class TestFakerGender < Test::Unit::TestCase + def setup + @tester = Faker::Gender + end + + def test_type + assert @tester.type.match(/\w+/) + end + + def test_binary_type + assert @tester.binary_type.match(/\w+/) + end +end