faker-japanese-name 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.devcontainer/Dockerfile +22 -0
- data/.devcontainer/compose.yaml +18 -0
- data/.devcontainer/devcontainer.json +37 -0
- data/.devcontainer/fish/conf.d/abbrs.fish +3 -0
- data/.devcontainer/fish/functions/git.fish +12 -0
- data/.devcontainer/post_create.fish +1 -0
- data/.editorconfig +12 -0
- data/.standard.yml +2 -0
- data/.tool-versions +1 -0
- data/LICENSE +21 -0
- data/README.md +102 -0
- data/Rakefile +10 -0
- data/data/family_name.dat +2559 -0
- data/data/female_given_name.dat +327 -0
- data/data/male_given_name.dat +924 -0
- data/lib/faker/japanese_name/version.rb +7 -0
- data/lib/faker/japanese_name.rb +57 -0
- data/lib/faker-japanese-name.rb +3 -0
- metadata +78 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "japanese_name/version"
|
|
4
|
+
|
|
5
|
+
# The Faker module serves as the top-level namespace for all Faker functionality.
|
|
6
|
+
module Faker
|
|
7
|
+
# The JapaneseName module provides methods for generating Japanese names and their kana representations.
|
|
8
|
+
module JapaneseName
|
|
9
|
+
def self.family_name
|
|
10
|
+
@family_names ||= load_data("family_name.dat")
|
|
11
|
+
|
|
12
|
+
[:name, :kana].zip(@family_names.sample).to_h
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.given_name
|
|
16
|
+
[male_given_name, female_given_name].sample
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.male_given_name
|
|
20
|
+
@male_given_names ||= load_data("male_given_name.dat")
|
|
21
|
+
|
|
22
|
+
[:name, :kana].zip(@male_given_names.sample).to_h
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def self.female_given_name
|
|
26
|
+
@female_given_names ||= load_data("female_given_name.dat")
|
|
27
|
+
|
|
28
|
+
[:name, :kana].zip(@female_given_names.sample).to_h
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.name
|
|
32
|
+
combine_names(family_name: family_name, given_name: given_name)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.male_name
|
|
36
|
+
combine_names(family_name: family_name, given_name: male_given_name)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.female_name
|
|
40
|
+
combine_names(family_name: family_name, given_name: female_given_name)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def self.combine_names(family_name:, given_name:)
|
|
44
|
+
{
|
|
45
|
+
name: "#{family_name[:name]} #{given_name[:name]}",
|
|
46
|
+
kana: "#{family_name[:kana]} #{given_name[:kana]}"
|
|
47
|
+
}
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def self.load_data(filename)
|
|
51
|
+
::File.readlines(
|
|
52
|
+
::File.join(::File.expand_path("../../data", __dir__), filename),
|
|
53
|
+
chomp: true
|
|
54
|
+
).map { |line| line.split("\t", 2) }
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: faker-japanese-name
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Shuhei YOSHIDA
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2025-07-13 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: faker
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '2.0'
|
|
27
|
+
description: Provides Japanese family and given names (male/female) with kana readings.
|
|
28
|
+
Data sourced from Wikidata.
|
|
29
|
+
email:
|
|
30
|
+
- contact@yantene.net
|
|
31
|
+
executables: []
|
|
32
|
+
extensions: []
|
|
33
|
+
extra_rdoc_files: []
|
|
34
|
+
files:
|
|
35
|
+
- ".devcontainer/Dockerfile"
|
|
36
|
+
- ".devcontainer/compose.yaml"
|
|
37
|
+
- ".devcontainer/devcontainer.json"
|
|
38
|
+
- ".devcontainer/fish/conf.d/abbrs.fish"
|
|
39
|
+
- ".devcontainer/fish/functions/git.fish"
|
|
40
|
+
- ".devcontainer/post_create.fish"
|
|
41
|
+
- ".editorconfig"
|
|
42
|
+
- ".standard.yml"
|
|
43
|
+
- ".tool-versions"
|
|
44
|
+
- LICENSE
|
|
45
|
+
- README.md
|
|
46
|
+
- Rakefile
|
|
47
|
+
- data/family_name.dat
|
|
48
|
+
- data/female_given_name.dat
|
|
49
|
+
- data/male_given_name.dat
|
|
50
|
+
- lib/faker-japanese-name.rb
|
|
51
|
+
- lib/faker/japanese_name.rb
|
|
52
|
+
- lib/faker/japanese_name/version.rb
|
|
53
|
+
homepage: https://github.com/yantene/faker-japanese-name
|
|
54
|
+
licenses:
|
|
55
|
+
- MIT
|
|
56
|
+
metadata:
|
|
57
|
+
homepage_uri: https://github.com/yantene/faker-japanese-name
|
|
58
|
+
source_code_uri: https://github.com/yantene/faker-japanese-name
|
|
59
|
+
post_install_message:
|
|
60
|
+
rdoc_options: []
|
|
61
|
+
require_paths:
|
|
62
|
+
- lib
|
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: 3.1.0
|
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
|
+
requirements:
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: '0'
|
|
73
|
+
requirements: []
|
|
74
|
+
rubygems_version: 3.3.27
|
|
75
|
+
signing_key:
|
|
76
|
+
specification_version: 4
|
|
77
|
+
summary: Faker extension for Japanese names with kana.
|
|
78
|
+
test_files: []
|