From a6431f9a02ca5d5a02687e3554e7fd4aa6af5241 Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 00:41:31 +0900 Subject: [PATCH 1/7] feat: impl Person.Ja --- lib/faker/person/ja.ex | 265 +++++++++++++++++++++++++++++++++++++ test/faker/person_test.exs | 1 + 2 files changed, 266 insertions(+) create mode 100644 lib/faker/person/ja.ex diff --git a/lib/faker/person/ja.ex b/lib/faker/person/ja.ex new file mode 100644 index 000000000..5adb6102f --- /dev/null +++ b/lib/faker/person/ja.ex @@ -0,0 +1,265 @@ +defmodule Faker.Person.Ja do + @moduledoc """ + Functions for name data in Japanese; 日本語の人名を生成する関数群 + """ + import Faker, only: [sampler: 2] + + @doc """ + Returns a complete name; 姓名を返す + + In Japanese complete (official) names are usually written + without prefixes/suffixes so it does not include them. + 日本語では、正式な人名表記には通常敬称を含めない。 + この関数も敬称を含まない姓名を返す。 + + ## Examples + + iex> Faker.Person.Ja.name() + "鈴木亮" + iex> Faker.Person.Ja.name() + "菊地真央" + iex> Faker.Person.Ja.name() + "宮崎大輝" + iex> Faker.Person.Ja.name() + "斎藤仁" + """ + @spec name() :: String.t() + def name(), do: name(Faker.random_between(0, 9)) + defp name(n) when is_integer(n), do: "#{last_name()}#{first_name()}" + + @doc """ + Returns a random last name; 姓を返す + + ## Examples + + iex> Faker.Person.Ja.last_name() + "吉田" + iex> Faker.Person.Ja.last_name() + "鈴木" + iex> Faker.Person.Ja.last_name() + "近藤" + iex> Faker.Person.Ja.last_name() + "伊藤" + """ + @spec last_name() :: String.t() + sampler(:last_name, [ + "佐藤", + "鈴木", + "高橋", + "田中", + "伊藤", + "山本", + "渡辺", + "中村", + "小林", + "加藤", + "吉田", + "山田", + "佐々木", + "山口", + "松本", + "井上", + "木村", + "林", + "斎藤", + "清水", + "山崎", + "阿部", + "森", + "池田", + "橋本", + "山下", + "石川", + "中島", + "前田", + "藤田", + "後藤", + "小川", + "岡田", + "村上", + "長谷川", + "近藤", + "石井", + "斉藤", + "坂本", + "遠藤", + "藤井", + "青木", + "福田", + "三浦", + "西村", + "藤原", + "太田", + "松田", + "原田", + "岡本", + "中野", + "中川", + "小野", + "田村", + "竹内", + "金子", + "中山", + "和田", + "石田", + "工藤", + "上田", + "原", + "森田", + "酒井", + "横山", + "柴田", + "宮崎", + "宮本", + "内田", + "高木", + "谷口", + "安藤", + "丸山", + "今井", + "大野", + "高田", + "菅原", + "河野", + "武田", + "藤本", + "上野", + "杉山", + "千葉", + "村田", + "増田", + "小島", + "小山", + "大塚", + "平野", + "久保", + "渡部", + "松井", + "菊地", + "岩崎", + "松尾", + "佐野", + "木下", + "野口", + "野村", + "新井" + ]) + + @doc """ + Returns a random first name; 名を返す + + ## Examples + + iex> Faker.Person.Ja.first_name() + "大和" + iex> Faker.Person.Ja.first_name() + "蓮" + iex> Faker.Person.Ja.first_name() + "亮" + iex> Faker.Person.Ja.first_name() + "颯太" + """ + @spec first_name() :: String.t() + sampler(:first_name, [ + "翔太", + "蓮", + "翔", + "陸", + "颯太", + "悠斗", + "大翔", + "翼", + "樹", + "奏太", + "大和", + "大輝", + "悠", + "隼人", + "健太", + "大輔", + "駿", + "陽斗", + "優", + "陽", + "悠人", + "誠", + "拓海", + "仁", + "悠太", + "悠真", + "大地", + "健", + "遼", + "大樹", + "諒", + "響", + "太一", + "一郎", + "優斗", + "亮", + "海斗", + "颯", + "亮太", + "匠", + "陽太", + "航", + "瑛太", + "直樹", + "空", + "光", + "太郎", + "輝", + "一輝", + "蒼", + "葵", + "優那", + "優奈", + "凛", + "陽菜", + "愛", + "結衣", + "美咲", + "楓", + "さくら", + "遥", + "美優", + "莉子", + "七海", + "美月", + "結菜", + "真央", + "花音", + "陽子", + "舞", + "美羽", + "優衣", + "未来", + "彩", + "彩乃", + "彩花", + "優", + "智子", + "奈々", + "千尋", + "愛美", + "優菜", + "杏", + "裕子", + "芽衣", + "綾乃", + "琴音", + "桜", + "恵", + "杏奈", + "美桜", + "優花", + "玲奈", + "結", + "茜", + "美穂", + "明日香", + "愛子", + "美緒", + "碧" + ]) +end diff --git a/test/faker/person_test.exs b/test/faker/person_test.exs index 3c9c4d678..166aa7832 100644 --- a/test/faker/person_test.exs +++ b/test/faker/person_test.exs @@ -7,5 +7,6 @@ defmodule Faker.PersonTest do doctest Faker.Person.Fr doctest Faker.Person.Hy doctest Faker.Person.It + doctest Faker.Person.Ja doctest Faker.Person.PtBr end From a68c71422ecddfbfa0267130e497b9446b699d75 Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 00:42:42 +0900 Subject: [PATCH 2/7] chore: note on sample source --- lib/faker/person/ja.ex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/faker/person/ja.ex b/lib/faker/person/ja.ex index 5adb6102f..d5774e2eb 100644 --- a/lib/faker/person/ja.ex +++ b/lib/faker/person/ja.ex @@ -1,6 +1,8 @@ defmodule Faker.Person.Ja do @moduledoc """ Functions for name data in Japanese; 日本語の人名を生成する関数群 + + Samples based on https://github.com/faker-ruby/faker """ import Faker, only: [sampler: 2] From 7166ebe33ad2a0a515e725e9059f8f477e348b42 Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 04:38:02 +0900 Subject: [PATCH 3/7] refactor: expand sampler args within quote --- lib/faker.ex | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/faker.ex b/lib/faker.ex index 3eefa25d0..52f2c44ec 100644 --- a/lib/faker.ex +++ b/lib/faker.ex @@ -144,29 +144,21 @@ defmodule Faker do end defmacro sampler(name, data) do - count = Enum.count(data) - - mapped_data = - data |> Enum.with_index() |> Enum.into(%{}, fn {k, v} -> {v, k} end) |> Macro.escape() - quote do + @count Enum.count(unquote(data)) + @mapped_data unquote(data) |> Enum.with_index() |> Enum.into(%{}, fn {k, v} -> {v, k} end) def unquote(name)() do - unquote(mapped_data) - |> Map.get(Faker.random_between(0, unquote(count - 1))) + Map.get(@mapped_data, Faker.random_between(0, @count - 1)) end end end defmacro samplerp(name, data) do - count = Enum.count(data) - - mapped_data = - data |> Enum.with_index() |> Enum.into(%{}, fn {k, v} -> {v, k} end) |> Macro.escape() - quote do + @count Enum.count(unquote(data)) + @mapped_data unquote(data) |> Enum.with_index() |> Enum.into(%{}, fn {k, v} -> {v, k} end) defp unquote(name)() do - unquote(mapped_data) - |> Map.get(Faker.random_between(0, unquote(count - 1))) + Map.get(@mapped_data, Faker.random_between(0, @count - 1)) end end end From c0c5a5ec5b1205b38e5e5c4daecfd232485fce92 Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 04:38:25 +0900 Subject: [PATCH 4/7] feat: generate names with kanas --- lib/faker/person/ja.ex | 490 +++++++++++++++++++++++------------------ 1 file changed, 274 insertions(+), 216 deletions(-) diff --git a/lib/faker/person/ja.ex b/lib/faker/person/ja.ex index d5774e2eb..5099b7569 100644 --- a/lib/faker/person/ja.ex +++ b/lib/faker/person/ja.ex @@ -1,36 +1,60 @@ defmodule Faker.Person.Ja do @moduledoc """ - Functions for name data in Japanese; 日本語の人名を生成する関数群 + Functions for name data in Japanese Samples based on https://github.com/faker-ruby/faker """ import Faker, only: [sampler: 2] @doc """ - Returns a complete name; 姓名を返す - - In Japanese complete (official) names are usually written - without prefixes/suffixes so it does not include them. - 日本語では、正式な人名表記には通常敬称を含めない。 - この関数も敬称を含まない姓名を返す。 + Returns a complete name ## Examples iex> Faker.Person.Ja.name() - "鈴木亮" - iex> Faker.Person.Ja.name() - "菊地真央" + "近藤颯太" iex> Faker.Person.Ja.name() - "宮崎大輝" + "横山真央" iex> Faker.Person.Ja.name() "斎藤仁" + iex> Faker.Person.Ja.name() + "中島諒" """ @spec name() :: String.t() def name(), do: name(Faker.random_between(0, 9)) - defp name(n) when is_integer(n), do: "#{last_name()}#{first_name()}" + defp name(n) when is_integer(n), do: elem(name_with_kana(), 0) + + @doc """ + Returns a complete name with kanas + + Kana (hiragana/katakana) is phonetic lettering system of Japanese. + It tells us how should we read generated names. + It is common in legal documents (also in web applications) + to require them for disambiguation, since a name in kanji + may have varied readings! + + ## Examples + + iex> Faker.Person.Ja.name_with_kana() + {"鈴木亮", "すずきりょう", "スズキリョウ"} + iex> Faker.Person.Ja.name_with_kana() + {"菊地真央", "きくちまお", "キクチマオ"} + iex> Faker.Person.Ja.name_with_kana() + {"宮崎大輝", "みやざきだいき", "ミヤザキダイキ"} + iex> Faker.Person.Ja.name_with_kana() + {"斎藤仁", "さいとうひとし", "サイトウヒトシ"} + """ + @spec name_with_kana() :: {String.t(), String.t(), String.t()} + def name_with_kana(), do: name_with_kana(Faker.random_between(0, 9)) + + defp name_with_kana(n) when is_integer(n) do + {ln_kanji, ln_hira, ln_kata} = last_name_with_kana() + {fn_kanji, fn_hira, fn_kata} = first_name_with_kana() + {"#{ln_kanji}#{fn_kanji}", "#{ln_hira}#{fn_hira}", "#{ln_kata}#{fn_kata}"} + end @doc """ - Returns a random last name; 姓を返す + Returns a random last name ## Examples @@ -44,111 +68,128 @@ defmodule Faker.Person.Ja do "伊藤" """ @spec last_name() :: String.t() - sampler(:last_name, [ - "佐藤", - "鈴木", - "高橋", - "田中", - "伊藤", - "山本", - "渡辺", - "中村", - "小林", - "加藤", - "吉田", - "山田", - "佐々木", - "山口", - "松本", - "井上", - "木村", - "林", - "斎藤", - "清水", - "山崎", - "阿部", - "森", - "池田", - "橋本", - "山下", - "石川", - "中島", - "前田", - "藤田", - "後藤", - "小川", - "岡田", - "村上", - "長谷川", - "近藤", - "石井", - "斉藤", - "坂本", - "遠藤", - "藤井", - "青木", - "福田", - "三浦", - "西村", - "藤原", - "太田", - "松田", - "原田", - "岡本", - "中野", - "中川", - "小野", - "田村", - "竹内", - "金子", - "中山", - "和田", - "石田", - "工藤", - "上田", - "原", - "森田", - "酒井", - "横山", - "柴田", - "宮崎", - "宮本", - "内田", - "高木", - "谷口", - "安藤", - "丸山", - "今井", - "大野", - "高田", - "菅原", - "河野", - "武田", - "藤本", - "上野", - "杉山", - "千葉", - "村田", - "増田", - "小島", - "小山", - "大塚", - "平野", - "久保", - "渡部", - "松井", - "菊地", - "岩崎", - "松尾", - "佐野", - "木下", - "野口", - "野村", - "新井" + def last_name(), do: elem(last_name_with_kana(), 0) + + @doc """ + Returns a random last name with kanas + + ## Examples + + iex> Faker.Person.Ja.last_name() + "吉田" + iex> Faker.Person.Ja.last_name() + "鈴木" + iex> Faker.Person.Ja.last_name() + "近藤" + iex> Faker.Person.Ja.last_name() + "伊藤" + """ + @spec last_name_with_kana() :: {String.t(), String.t(), String.t()} + sampler(:last_name_with_kana, [ + {"佐藤", "さとう", "サトウ"}, + {"鈴木", "すずき", "スズキ"}, + {"高橋", "たかはし", "タカハシ"}, + {"田中", "たなか", "タナカ"}, + {"伊藤", "いとう", "イトウ"}, + {"山本", "やまもと", "ヤマモト"}, + {"渡辺", "わたなべ", "ワタナベ"}, + {"中村", "なかむら", "ナカムラ"}, + {"小林", "こばやし", "コバヤシ"}, + {"加藤", "かとう", "カトウ"}, + {"吉田", "よしだ", "ヨシダ"}, + {"山田", "やまだ", "ヤマダ"}, + {"佐々木", "ささき", "ササキ"}, + {"山口", "やまぐち", "ヤマグチ"}, + {"松本", "まつもと", "マツモト"}, + {"井上", "いのうえ", "イノウエ"}, + {"木村", "きむら", "キムラ"}, + {"林", "はやし", "ハヤシ"}, + {"斎藤", "さいとう", "サイトウ"}, + {"清水", "しみず", "シミズ"}, + {"山崎", "やまざき", "ヤマザキ"}, + {"阿部", "あべ", "アベ"}, + {"森", "もり", "モリ"}, + {"池田", "いけだ", "イケダ"}, + {"橋本", "はしもと", "ハシモト"}, + {"山下", "やました", "ヤマシタ"}, + {"石川", "いしかわ", "イシカワ"}, + {"中島", "なかじま", "ナカジマ"}, + {"前田", "まえだ", "マエダ"}, + {"藤田", "ふじた", "フジタ"}, + {"後藤", "ごとう", "ゴトウ"}, + {"小川", "おがわ", "オガワ"}, + {"岡田", "おかだ", "オカダ"}, + {"村上", "むらかみ", "ムラカミ"}, + {"長谷川", "はせがわ", "ハセガワ"}, + {"近藤", "こんどう", "コンドウ"}, + {"石井", "いしい", "イシイ"}, + {"斉藤", "さいとう", "サイトウ"}, + {"坂本", "さかもと", "サカモト"}, + {"遠藤", "えんどう", "エンドウ"}, + {"藤井", "ふじい", "フジイ"}, + {"青木", "あおき", "アオキ"}, + {"福田", "ふくだ", "フクダ"}, + {"三浦", "みうら", "ミウラ"}, + {"西村", "にしむら", "ニシムラ"}, + {"藤原", "ふじわら", "フジワラ"}, + {"太田", "おおた", "オオタ"}, + {"松田", "まつだ", "マツダ"}, + {"原田", "はらだ", "ハラダ"}, + {"岡本", "おかもと", "オカモト"}, + {"中野", "なかの", "ナカノ"}, + {"中川", "なかがわ", "ナカガワ"}, + {"小野", "おの", "オノ"}, + {"田村", "たむら", "タムラ"}, + {"竹内", "たけうち", "タケウチ"}, + {"金子", "かねこ", "カネコ"}, + {"中山", "なかやま", "ナカヤマ"}, + {"和田", "わだ", "ワダ"}, + {"石田", "いしだ", "イシダ"}, + {"工藤", "くどう", "クドウ"}, + {"上田", "うえだ", "ウエダ"}, + {"原", "はら", "ハラ"}, + {"森田", "もりた", "モリタ"}, + {"酒井", "さかい", "サカイ"}, + {"横山", "よこやま", "ヨコヤマ"}, + {"柴田", "しばた", "シバタ"}, + {"宮崎", "みやざき", "ミヤザキ"}, + {"宮本", "みやもと", "ミヤモト"}, + {"内田", "うちだ", "ウチダ"}, + {"高木", "たかぎ", "タカギ"}, + {"谷口", "たにぐち", "タニグチ"}, + {"安藤", "あんどう", "アンドウ"}, + {"丸山", "まるやま", "マルヤマ"}, + {"今井", "いまい", "イマイ"}, + {"大野", "おおの", "オオノ"}, + {"高田", "たかだ", "タカダ"}, + {"菅原", "すがわら", "スガワラ"}, + {"河野", "こうの", "コウノ"}, + {"武田", "たけだ", "タケダ"}, + {"藤本", "ふじもと", "フジモト"}, + {"上野", "うえの", "ウエノ"}, + {"杉山", "すぎやま", "スギヤマ"}, + {"千葉", "ちば", "チバ"}, + {"村田", "むらた", "ムラタ"}, + {"増田", "ますだ", "マスダ"}, + {"小島", "こじま", "コジマ"}, + {"小山", "こやま", "コヤマ"}, + {"大塚", "おおつか", "オオツカ"}, + {"平野", "ひらの", "ヒラノ"}, + {"久保", "くぼ", "クボ"}, + {"渡部", "わたべ", "ワタベ"}, + {"松井", "まつい", "マツイ"}, + {"菊地", "きくち", "キクチ"}, + {"岩崎", "いわさき", "イワサキ"}, + {"松尾", "まつお", "マツオ"}, + {"佐野", "さの", "サノ"}, + {"木下", "きのした", "キノシタ"}, + {"野口", "のぐち", "ノグチ"}, + {"野村", "のむら", "ノムラ"}, + {"新井", "あらい", "アライ"} ]) @doc """ - Returns a random first name; 名を返す + Returns a random first name ## Examples @@ -162,106 +203,123 @@ defmodule Faker.Person.Ja do "颯太" """ @spec first_name() :: String.t() - sampler(:first_name, [ - "翔太", - "蓮", - "翔", - "陸", - "颯太", - "悠斗", - "大翔", - "翼", - "樹", - "奏太", - "大和", - "大輝", - "悠", - "隼人", - "健太", - "大輔", - "駿", - "陽斗", - "優", - "陽", - "悠人", - "誠", - "拓海", - "仁", - "悠太", - "悠真", - "大地", - "健", - "遼", - "大樹", - "諒", - "響", - "太一", - "一郎", - "優斗", - "亮", - "海斗", - "颯", - "亮太", - "匠", - "陽太", - "航", - "瑛太", - "直樹", - "空", - "光", - "太郎", - "輝", - "一輝", - "蒼", - "葵", - "優那", - "優奈", - "凛", - "陽菜", - "愛", - "結衣", - "美咲", - "楓", - "さくら", - "遥", - "美優", - "莉子", - "七海", - "美月", - "結菜", - "真央", - "花音", - "陽子", - "舞", - "美羽", - "優衣", - "未来", - "彩", - "彩乃", - "彩花", - "優", - "智子", - "奈々", - "千尋", - "愛美", - "優菜", - "杏", - "裕子", - "芽衣", - "綾乃", - "琴音", - "桜", - "恵", - "杏奈", - "美桜", - "優花", - "玲奈", - "結", - "茜", - "美穂", - "明日香", - "愛子", - "美緒", - "碧" + def first_name(), do: elem(first_name_with_kana(), 0) + + @doc """ + Returns a random first name with kanas + + ## Examples + + iex> Faker.Person.Ja.first_name_with_kana() + {"大和", "やまと", "ヤマト"} + iex> Faker.Person.Ja.first_name_with_kana() + {"蓮", "れん", "レン"} + iex> Faker.Person.Ja.first_name_with_kana() + {"亮", "りょう", "リョウ"} + iex> Faker.Person.Ja.first_name_with_kana() + {"颯太", "そうた", "ソウタ"} + """ + @spec first_name_with_kana() :: {String.t(), String.t(), String.t()} + sampler(:first_name_with_kana, [ + {"翔太", "しょうた", "ショウタ"}, + {"蓮", "れん", "レン"}, + {"翔", "かける", "カケル"}, + {"陸", "りく", "リク"}, + {"颯太", "そうた", "ソウタ"}, + {"悠斗", "ゆうと", "ユウト"}, + {"大翔", "ひろと", "ヒロト"}, + {"翼", "つばさ", "ツバサ"}, + {"樹", "いつき", "イツキ"}, + {"奏太", "そうた", "ソウタ"}, + {"大和", "やまと", "ヤマト"}, + {"大輝", "だいき", "ダイキ"}, + {"悠", "ゆう", "ユウ"}, + {"隼人", "はやと", "ハヤト"}, + {"健太", "けんた", "ケンタ"}, + {"大輔", "だいすけ", "ダイスケ"}, + {"駿", "しゅん", "シュン"}, + {"陽斗", "はると", "ハルト"}, + {"優", "ゆう", "ユウ"}, + {"陽", "はる", "ハル"}, + {"悠人", "ゆうと", "ユウト"}, + {"誠", "まこと", "マコト"}, + {"拓海", "たくみ", "タクミ"}, + {"仁", "ひとし", "ヒトシ"}, + {"悠太", "ゆうた", "ユウタ"}, + {"悠真", "ゆうま", "ユウマ"}, + {"大地", "だいち", "ダイチ"}, + {"健", "けん", "ケン"}, + {"遼", "りょう", "リョウ"}, + {"大樹", "ひろき", "ヒロキ"}, + {"諒", "りょう", "リョウ"}, + {"響", "ひびき", "ヒビキ"}, + {"太一", "たいち", "タイチ"}, + {"一郎", "いちろう", "イチロウ"}, + {"優斗", "ゆうと", "ユウト"}, + {"亮", "りょう", "リョウ"}, + {"海斗", "かいと", "カイト"}, + {"颯", "そう", "ソウ"}, + {"亮太", "りょうた", "リョウタ"}, + {"匠", "たくみ", "タクミ"}, + {"陽太", "ようた", "ヨウタ"}, + {"航", "こう", "コウ"}, + {"瑛太", "えいた", "エイタ"}, + {"直樹", "なおき", "ナオキ"}, + {"空", "そら", "ソラ"}, + {"光", "ひかる", "ヒカル"}, + {"太郎", "たろう", "タロウ"}, + {"輝", "あきら", "アキラ"}, + {"一輝", "かずき", "カズキ"}, + {"蒼", "あお", "アオ"}, + {"葵", "あおい", "アオイ"}, + {"優那", "ゆうな", "ユウナ"}, + {"優奈", "ゆうな", "ユウナ"}, + {"凛", "りん", "リン"}, + {"陽菜", "はるな", "ハルナ"}, + {"愛", "あい", "アイ"}, + {"結衣", "ゆい", "ユイ"}, + {"美咲", "みさき", "ミサキ"}, + {"楓", "かえで", "カエデ"}, + {"さくら", "さくら", "サクラ"}, + {"遥", "はるか", "ハルカ"}, + {"美優", "みゆ", "ミユ"}, + {"莉子", "りこ", "リコ"}, + {"七海", "ななみ", "ナナミ"}, + {"美月", "みつき", "ミツキ"}, + {"結菜", "ゆいな", "ユイナ"}, + {"真央", "まお", "マオ"}, + {"花音", "かのん", "カノン"}, + {"陽子", "ようこ", "ヨウコ"}, + {"舞", "まい", "マイ"}, + {"美羽", "みう", "ミウ"}, + {"優衣", "ゆい", "ユイ"}, + {"未来", "みく", "ミク"}, + {"彩", "あや", "アヤ"}, + {"彩乃", "あやの", "アヤノ"}, + {"彩花", "あやか", "アヤカ"}, + {"優", "ゆう", "ユウ"}, + {"智子", "ともこ", "トモコ"}, + {"奈々", "なな", "ナナ"}, + {"千尋", "ちひろ", "チヒロ"}, + {"愛美", "まなみ", "マナミ"}, + {"優菜", "ゆうな", "ユウナ"}, + {"杏", "あん", "アン"}, + {"裕子", "ゆうこ", "ユウコ"}, + {"芽衣", "めい", "メイ"}, + {"綾乃", "あやの", "アヤノ"}, + {"琴音", "ことね", "コトネ"}, + {"桜", "さくら", "サクラ"}, + {"恵", "めぐみ", "メグミ"}, + {"杏奈", "あんな", "アンナ"}, + {"美桜", "みお", "ミオ"}, + {"優花", "ゆうか", "ユウカ"}, + {"玲奈", "れな", "レナ"}, + {"結", "ゆい", "ユイ"}, + {"茜", "あかね", "アカネ"}, + {"美穂", "みほ", "ミホ"}, + {"明日香", "あすか", "アスカ"}, + {"愛子", "あいこ", "アイコ"}, + {"美緒", "みお", "ミオ"}, + {"碧", "みどり", "ミドリ"} ]) end From 2f732cdc6e81cdf686fb10ed0a35c13b5493aa98 Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 14:40:35 +0900 Subject: [PATCH 5/7] chore: update CHANGELOG.md and USAGE.md --- CHANGELOG.md | 2 ++ USAGE.md | 1 + 2 files changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 914434321..41a53f7ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ Change log itself follows [Keep a CHANGELOG](http://keepachangelog.com) format. ### Added +- `Faker.Person.Ja` [[@ymtszw](https://github.com/ymtszw)] + ### Changed ### Deprecated diff --git a/USAGE.md b/USAGE.md index 2b9bc4ac0..747dfb57a 100644 --- a/USAGE.md +++ b/USAGE.md @@ -87,6 +87,7 @@ - [Faker.Person.Fr](lib/faker/person/fr.ex) - [Faker.Person.Hy](lib/faker/person/hy.ex) - [Faker.Person.It](lib/faker/person/it.ex) +- [Faker.Person.Ja](lib/faker/person/ja.ex) - [Faker.Person.PtBr](lib/faker/person/pt_br.ex) - [Faker.Phone.EnUs](lib/faker/phone/en_us.ex) - [Faker.Phone.EnGb](lib/faker/phone/en_gb.ex) From 79a589aa4714479050acc50a714620a9aba2201d Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 14:40:55 +0900 Subject: [PATCH 6/7] boyscout: fix link --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41a53f7ec..c7bcc90ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,7 +31,7 @@ Change log itself follows [Keep a CHANGELOG](http://keepachangelog.com) format. - `Faker.Aws.En.ec2_action/0` [[@vboivin](https://github.com/vboivin)] - `Faker.Aws.En.s3_action/0` [[@vboivin](https://github.com/vboivin)] - `Faker.Aws.Fr.region_name/0` [[@vboivin](https://github.com/vboivin)] -- `Faker.String.naughty/0` [[@Cantido][https://github.com/Cantido]] +- `Faker.String.naughty/0` [[@Cantido](https://github.com/Cantido)] - `Faker.Airports.icao/0` [[@brunohkbx](https://github.com/brunohkbx)] - `Faker.Airports.iata/0` [[@brunohkbx](https://github.com/brunohkbx)] - `Faker.Airports.En.name/0` [[@brunohkbx](https://github.com/brunohkbx)] From e395046f678ea74d972580900c3e6970f64ea27b Mon Sep 17 00:00:00 2001 From: Yu Matsuzawa Date: Sun, 1 Nov 2020 15:08:33 +0900 Subject: [PATCH 7/7] chore: fix credo warnings --- lib/faker/person/ja.ex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/faker/person/ja.ex b/lib/faker/person/ja.ex index 5099b7569..975445ad3 100644 --- a/lib/faker/person/ja.ex +++ b/lib/faker/person/ja.ex @@ -21,7 +21,7 @@ defmodule Faker.Person.Ja do "中島諒" """ @spec name() :: String.t() - def name(), do: name(Faker.random_between(0, 9)) + def name, do: name(Faker.random_between(0, 9)) defp name(n) when is_integer(n), do: elem(name_with_kana(), 0) @doc """ @@ -45,7 +45,7 @@ defmodule Faker.Person.Ja do {"斎藤仁", "さいとうひとし", "サイトウヒトシ"} """ @spec name_with_kana() :: {String.t(), String.t(), String.t()} - def name_with_kana(), do: name_with_kana(Faker.random_between(0, 9)) + def name_with_kana, do: name_with_kana(Faker.random_between(0, 9)) defp name_with_kana(n) when is_integer(n) do {ln_kanji, ln_hira, ln_kata} = last_name_with_kana() @@ -68,7 +68,7 @@ defmodule Faker.Person.Ja do "伊藤" """ @spec last_name() :: String.t() - def last_name(), do: elem(last_name_with_kana(), 0) + def last_name, do: elem(last_name_with_kana(), 0) @doc """ Returns a random last name with kanas @@ -203,7 +203,7 @@ defmodule Faker.Person.Ja do "颯太" """ @spec first_name() :: String.t() - def first_name(), do: elem(first_name_with_kana(), 0) + def first_name, do: elem(first_name_with_kana(), 0) @doc """ Returns a random first name with kanas