gimei 0.3.0 → 0.4.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 +5 -5
- data/.travis.yml +4 -1
- data/CHANGELOG.md +6 -0
- data/README.md +10 -1
- data/lib/gimei.rb +2 -2
- data/lib/gimei/name.rb +3 -3
- data/lib/gimei/version.rb +1 -1
- data/spec/address_spec.rb +35 -35
- data/spec/gimei_spec.rb +42 -27
- data/spec/name_spec.rb +43 -28
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 35cb5bc32bc45d0b86828d6752260ea90a70c7fdd4151bd0e425425eee7cb8ca
|
4
|
+
data.tar.gz: a3cbf8105592bbd8bb38753bfa5acca44ceea9675ffe9963e89dd74ab91f8e04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07b60a6af8982950d8786c4ee4a8d2522b4e2381e70c73e9c686238818b3117ecce405aeae08a1334d32e774caaf23e18ce0f21a6ed017679306c701415e50dc
|
7
|
+
data.tar.gz: b7fcac6a4a5101ba31053153b274c0994b4b27bdf453c370ab4fa50cbde32c361357e05e4a865deb5631e316b2af7737442f03a55ef28bd8c8a207b04e909819
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -20,6 +20,9 @@ gimei.kanji #=> "斎藤 陽菜"
|
|
20
20
|
gimei.hiragana #=> "さいとう はるな"
|
21
21
|
gimei.katakana #=> "サイトウ ハルナ"
|
22
22
|
gimei.romaji #=> "Haruna Saitou"
|
23
|
+
gimei.gender #=> :female
|
24
|
+
gimei.male? #=> false
|
25
|
+
gimei.female? #=> true
|
23
26
|
gimei.last.kanji #=> "斎藤"
|
24
27
|
gimei.last.hiragana #=> "さいとう"
|
25
28
|
gimei.last.katakana #=> "サイトウ"
|
@@ -36,11 +39,13 @@ gimei.first.romaji #=> "Haruna"
|
|
36
39
|
gimei = Gimei.male
|
37
40
|
gimei.male? #=> true
|
38
41
|
gimei.female? #=> false
|
42
|
+
gimei.gender #=> :male
|
39
43
|
gimei.kanji #=> "小林 顕士"
|
40
44
|
|
41
45
|
gimei = Gimei.female
|
42
46
|
gimei.male? #=> false
|
43
47
|
gimei.female? #=> true
|
48
|
+
gimei.gender #=> :female
|
44
49
|
gimei.kanji #=> "根本 彩世"
|
45
50
|
```
|
46
51
|
|
@@ -119,12 +124,14 @@ Gimei.town.romaji # => Heisei
|
|
119
124
|
|
120
125
|
## Supported versions
|
121
126
|
|
122
|
-
- 1.9.3
|
123
127
|
- 2.0.0
|
124
128
|
- 2.1.x
|
125
129
|
- 2.2.x
|
126
130
|
- 2.3.x
|
127
131
|
- 2.4.x
|
132
|
+
- 2.5.x
|
133
|
+
- 2.6.x
|
134
|
+
- 2.7.x
|
128
135
|
|
129
136
|
## 他言語による実装
|
130
137
|
|
@@ -134,6 +141,8 @@ Gimei.town.romaji # => Heisei
|
|
134
141
|
- [gongo/emacs-gimei](https://github.com/gongo/emacs-gimei)
|
135
142
|
- [ma2gedev/gimei_ex](https://github.com/ma2gedev/gimei_ex)
|
136
143
|
- [demiglacesource/node-gimei](https://github.com/demiglacesource/node-gimei)
|
144
|
+
- [matarillo/dot-gimei](https://github.com/matarillo/dot-gimei)
|
145
|
+
- [abcb2/type-gimei](https://github.com/abcb2/type-gimei)
|
137
146
|
|
138
147
|
## Installation
|
139
148
|
|
data/lib/gimei.rb
CHANGED
@@ -9,9 +9,9 @@ class Gimei
|
|
9
9
|
|
10
10
|
NAMES = YAML.load_file(File.expand_path(File.join('..', 'data', 'names.yml'), __FILE__))
|
11
11
|
ADDRESSES = YAML.load_file(File.expand_path(File.join('..', 'data', 'addresses.yml'), __FILE__))
|
12
|
-
|
12
|
+
GENDERS = [:male, :female].freeze
|
13
13
|
|
14
|
-
def_delegators :@name, :kanji, :hiragana, :katakana, :first, :last, :male?, :female?, :romaji
|
14
|
+
def_delegators :@name, :gender, :kanji, :hiragana, :katakana, :first, :last, :male?, :female?, :romaji
|
15
15
|
def_delegators :@address, :prefecture, :city, :town
|
16
16
|
alias_method :to_s, :kanji
|
17
17
|
|
data/lib/gimei/name.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'romaji'
|
2
2
|
|
3
3
|
class Gimei::Name
|
4
|
-
attr_reader :first, :last
|
4
|
+
attr_reader :first, :last, :gender
|
5
5
|
|
6
6
|
class << self
|
7
7
|
extend Forwardable
|
@@ -17,7 +17,7 @@ class Gimei::Name
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def initialize(gender = nil)
|
20
|
-
@gender = gender || Gimei::
|
20
|
+
@gender = gender || Gimei::GENDERS.sample
|
21
21
|
@first = First.new @gender
|
22
22
|
@last = Last.new
|
23
23
|
end
|
@@ -63,7 +63,7 @@ class Gimei::Name
|
|
63
63
|
def_delegators :@name, :kanji, :hiragana, :katakana, :to_s, :romaji
|
64
64
|
|
65
65
|
def initialize(gender = nil)
|
66
|
-
@gender = gender || Gimei::
|
66
|
+
@gender = gender || Gimei::GENDERS.sample
|
67
67
|
@name = NameWord.new(Gimei::NAMES['first_name'][@gender.to_s].sample)
|
68
68
|
end
|
69
69
|
|
data/lib/gimei/version.rb
CHANGED
data/spec/address_spec.rb
CHANGED
@@ -4,61 +4,61 @@ require_relative 'spec_helper'
|
|
4
4
|
describe Gimei do
|
5
5
|
describe '#kanji and #to_s' do
|
6
6
|
it '全角文字が返ること' do
|
7
|
-
Gimei.address.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
8
|
-
Gimei.address.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
9
|
-
Gimei.address.prefecture.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
10
|
-
Gimei.address.prefecture.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
11
|
-
Gimei.address.city.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
12
|
-
Gimei.address.city.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
13
|
-
Gimei.address.town.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
14
|
-
Gimei.address.town.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
7
|
+
_(Gimei.address.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
8
|
+
_(Gimei.address.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
9
|
+
_(Gimei.address.prefecture.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
10
|
+
_(Gimei.address.prefecture.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
11
|
+
_(Gimei.address.city.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
12
|
+
_(Gimei.address.city.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
13
|
+
_(Gimei.address.town.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
14
|
+
_(Gimei.address.town.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
15
15
|
|
16
|
-
Gimei.prefecture.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
17
|
-
Gimei.prefecture.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
18
|
-
Gimei.city.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
19
|
-
Gimei.city.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
20
|
-
Gimei.town.kanji.must_match(/\A[#{Moji.zen}]+\z/)
|
21
|
-
Gimei.town.to_s.must_match(/\A[#{Moji.zen}]+\z/)
|
16
|
+
_(Gimei.prefecture.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
17
|
+
_(Gimei.prefecture.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
18
|
+
_(Gimei.city.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
19
|
+
_(Gimei.city.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
20
|
+
_(Gimei.town.kanji).must_match(/\A[#{Moji.zen}]+\z/)
|
21
|
+
_(Gimei.town.to_s).must_match(/\A[#{Moji.zen}]+\z/)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
25
|
describe '#hiragana' do
|
26
26
|
it 'ひらがなが返ること' do
|
27
|
-
Gimei.address.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
28
|
-
Gimei.address.prefecture.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
29
|
-
Gimei.address.city.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
30
|
-
Gimei.address.town.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
27
|
+
_(Gimei.address.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
28
|
+
_(Gimei.address.prefecture.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
29
|
+
_(Gimei.address.city.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
30
|
+
_(Gimei.address.town.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
31
31
|
|
32
|
-
Gimei.prefecture.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
33
|
-
Gimei.city.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
34
|
-
Gimei.town.hiragana.must_match(/\A[\p{hiragana}]+\z/)
|
32
|
+
_(Gimei.prefecture.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
33
|
+
_(Gimei.city.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
34
|
+
_(Gimei.town.hiragana).must_match(/\A[\p{hiragana}]+\z/)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
38
|
describe '#katakana' do
|
39
39
|
it 'カタカナが返ること' do
|
40
|
-
Gimei.address.katakana.must_match(/\A[\p{katakana}]+\z/)
|
41
|
-
Gimei.address.prefecture.katakana.must_match(/\A[\p{katakana}]+\z/)
|
42
|
-
Gimei.address.city.katakana.must_match(/\A[\p{katakana}]+\z/)
|
43
|
-
Gimei.address.town.katakana.must_match(/\A[\p{katakana}]+\z/)
|
40
|
+
_(Gimei.address.katakana).must_match(/\A[\p{katakana}]+\z/)
|
41
|
+
_(Gimei.address.prefecture.katakana).must_match(/\A[\p{katakana}]+\z/)
|
42
|
+
_(Gimei.address.city.katakana).must_match(/\A[\p{katakana}]+\z/)
|
43
|
+
_(Gimei.address.town.katakana).must_match(/\A[\p{katakana}]+\z/)
|
44
44
|
|
45
|
-
Gimei.prefecture.katakana.must_match(/\A[\p{katakana}]+\z/)
|
46
|
-
Gimei.city.katakana.must_match(/\A[\p{katakana}]+\z/)
|
47
|
-
Gimei.town.katakana.must_match(/\A[\p{katakana}]+\z/)
|
45
|
+
_(Gimei.prefecture.katakana).must_match(/\A[\p{katakana}]+\z/)
|
46
|
+
_(Gimei.city.katakana).must_match(/\A[\p{katakana}]+\z/)
|
47
|
+
_(Gimei.town.katakana).must_match(/\A[\p{katakana}]+\z/)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
describe '#romaji' do
|
52
52
|
it 'ローマ字が返ること' do
|
53
|
-
Gimei.address.romaji.must_match(/\A[a-zA-Z\s]+\z/)
|
53
|
+
_(Gimei.address.romaji).must_match(/\A[a-zA-Z\s]+\z/)
|
54
54
|
|
55
|
-
Gimei.address.prefecture.romaji.must_match(/\A[a-zA-Z]+\z/)
|
56
|
-
Gimei.address.city.romaji.must_match(/\A[a-zA-Z]+\z/)
|
57
|
-
Gimei.address.town.romaji.must_match(/\A[a-zA-Z]+\z/)
|
55
|
+
_(Gimei.address.prefecture.romaji).must_match(/\A[a-zA-Z]+\z/)
|
56
|
+
_(Gimei.address.city.romaji).must_match(/\A[a-zA-Z]+\z/)
|
57
|
+
_(Gimei.address.town.romaji).must_match(/\A[a-zA-Z]+\z/)
|
58
58
|
|
59
|
-
Gimei.prefecture.romaji.must_match(/\A[a-zA-Z]+\z/)
|
60
|
-
Gimei.city.romaji.must_match(/\A[a-zA-Z]+\z/)
|
61
|
-
Gimei.town.romaji.must_match(/\A[a-zA-Z]+\z/)
|
59
|
+
_(Gimei.prefecture.romaji).must_match(/\A[a-zA-Z]+\z/)
|
60
|
+
_(Gimei.city.romaji).must_match(/\A[a-zA-Z]+\z/)
|
61
|
+
_(Gimei.town.romaji).must_match(/\A[a-zA-Z]+\z/)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
data/spec/gimei_spec.rb
CHANGED
@@ -6,11 +6,15 @@ describe Gimei do
|
|
6
6
|
before { @name = Gimei.male }
|
7
7
|
|
8
8
|
it 'Gimei::Name オブジェクトが返ること' do
|
9
|
-
@name.must_be_instance_of Gimei::Name
|
9
|
+
_(@name).must_be_instance_of Gimei::Name
|
10
|
+
end
|
11
|
+
|
12
|
+
it '#gender が :male を返すこと' do
|
13
|
+
_(@name.gender).must_equal :male
|
10
14
|
end
|
11
15
|
|
12
16
|
it '#male? が true を返すこと' do
|
13
|
-
@name.male
|
17
|
+
_(@name.male?).must_equal true
|
14
18
|
end
|
15
19
|
end
|
16
20
|
|
@@ -18,149 +22,160 @@ describe Gimei do
|
|
18
22
|
before { @name = Gimei.female }
|
19
23
|
|
20
24
|
it 'Gimei::Name オブジェクトが返ること' do
|
21
|
-
@name.must_be_instance_of Gimei::Name
|
25
|
+
_(@name).must_be_instance_of Gimei::Name
|
26
|
+
end
|
27
|
+
|
28
|
+
it '#gender が :female を返すこと' do
|
29
|
+
_(@name.gender).must_equal :female
|
22
30
|
end
|
23
31
|
|
24
32
|
it '#female? が true を返すこと' do
|
25
|
-
@name.female
|
33
|
+
_(@name.female?).must_equal true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#gender' do
|
38
|
+
it ':male または :female が返ること' do
|
39
|
+
_(Gimei.new.gender).must_be_instance_of(Symbol)
|
40
|
+
_(Gimei.new.gender.to_s).must_match(/\A(?:male|female)\Z/)
|
26
41
|
end
|
27
42
|
end
|
28
43
|
|
29
44
|
describe '#kanji' do
|
30
45
|
it '全角文字とスペースが返ること' do
|
31
|
-
Gimei.new.kanji.must_match
|
46
|
+
_(Gimei.new.kanji).must_match(/\A[#{Moji.zen}\s]+\z/)
|
32
47
|
end
|
33
48
|
end
|
34
49
|
|
35
50
|
describe '#to_s' do
|
36
51
|
it '全角文字とスペースが返ること' do
|
37
|
-
Gimei.new.to_s.must_match
|
52
|
+
_(Gimei.new.to_s).must_match(/\A[#{Moji.zen}\s]+\z/)
|
38
53
|
end
|
39
54
|
end
|
40
55
|
|
41
56
|
describe '.kanji' do
|
42
57
|
it '全角文字とスペースが返ること' do
|
43
|
-
Gimei.kanji.must_match
|
58
|
+
_(Gimei.kanji).must_match(/\A[#{Moji.zen}\s]+\z/)
|
44
59
|
end
|
45
60
|
end
|
46
61
|
|
47
62
|
describe '#hiragana' do
|
48
63
|
it 'ひらがなとスペースが返ること' do
|
49
|
-
Gimei.new.hiragana.must_match
|
64
|
+
_(Gimei.new.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
|
50
65
|
end
|
51
66
|
end
|
52
67
|
|
53
68
|
describe '.hiragana' do
|
54
69
|
it 'ひらがなとスペースが返ること' do
|
55
|
-
Gimei.hiragana.must_match
|
70
|
+
_(Gimei.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
|
56
71
|
end
|
57
72
|
end
|
58
73
|
|
59
74
|
describe '#katakana' do
|
60
75
|
it 'カタカナとスペースが返ること' do
|
61
|
-
Gimei.new.katakana.must_match
|
76
|
+
_(Gimei.new.katakana).must_match(/\A[\p{katakana}\s]+\z/)
|
62
77
|
end
|
63
78
|
end
|
64
79
|
|
65
80
|
describe '.katakana' do
|
66
81
|
it 'カタカナとスペースが返ること' do
|
67
|
-
Gimei.katakana.must_match
|
82
|
+
_(Gimei.katakana).must_match(/\A[\p{katakana}\s]+\z/)
|
68
83
|
end
|
69
84
|
end
|
70
85
|
|
71
86
|
describe '.name' do
|
72
87
|
it 'Gimei::Name オブジェクトが返ること' do
|
73
|
-
Gimei.name.must_be_instance_of Gimei::Name
|
88
|
+
_(Gimei.name).must_be_instance_of Gimei::Name
|
74
89
|
end
|
75
90
|
end
|
76
91
|
|
77
92
|
describe '#name' do
|
78
93
|
it 'Gimei::Name オブジェクトが返ること' do
|
79
|
-
Gimei.new.name.must_be_instance_of Gimei::Name
|
94
|
+
_(Gimei.new.name).must_be_instance_of Gimei::Name
|
80
95
|
end
|
81
96
|
end
|
82
97
|
|
83
98
|
describe '.first' do
|
84
99
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
85
|
-
Gimei.first.must_be_instance_of Gimei::Name::First
|
100
|
+
_(Gimei.first).must_be_instance_of Gimei::Name::First
|
86
101
|
end
|
87
102
|
end
|
88
103
|
|
89
104
|
describe '#first' do
|
90
105
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
91
|
-
Gimei.new.first.must_be_instance_of Gimei::Name::First
|
106
|
+
_(Gimei.new.first).must_be_instance_of Gimei::Name::First
|
92
107
|
end
|
93
108
|
end
|
94
109
|
|
95
110
|
describe '.last' do
|
96
111
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
97
|
-
Gimei.last.must_be_instance_of Gimei::Name::Last
|
112
|
+
_(Gimei.last).must_be_instance_of Gimei::Name::Last
|
98
113
|
end
|
99
114
|
end
|
100
115
|
|
101
116
|
describe '#last' do
|
102
117
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
103
|
-
Gimei.new.last.must_be_instance_of Gimei::Name::Last
|
118
|
+
_(Gimei.new.last).must_be_instance_of Gimei::Name::Last
|
104
119
|
end
|
105
120
|
end
|
106
121
|
|
107
122
|
describe '.romaji' do
|
108
123
|
it 'ローマ字とスペースが返ること' do
|
109
|
-
Gimei.romaji.must_match(/\A[a-zA-Z\s]+\z/)
|
124
|
+
_(Gimei.romaji).must_match(/\A[a-zA-Z\s]+\z/)
|
110
125
|
end
|
111
126
|
end
|
112
127
|
|
113
128
|
describe '#romaji' do
|
114
129
|
it 'ローマ字とスペースが返ること' do
|
115
|
-
Gimei.new.romaji.must_match(/\A[a-zA-Z\s]+\z/)
|
130
|
+
_(Gimei.new.romaji).must_match(/\A[a-zA-Z\s]+\z/)
|
116
131
|
end
|
117
132
|
end
|
118
133
|
|
119
134
|
describe '.address' do
|
120
135
|
it 'Gimei::Address オブジェクトが返ること' do
|
121
|
-
Gimei.address.must_be_instance_of Gimei::Address
|
136
|
+
_(Gimei.address).must_be_instance_of Gimei::Address
|
122
137
|
end
|
123
138
|
end
|
124
139
|
|
125
140
|
describe '#address' do
|
126
141
|
it 'Gimei::Address オブジェクトが返ること' do
|
127
|
-
Gimei.new.address.must_be_instance_of Gimei::Address
|
142
|
+
_(Gimei.new.address).must_be_instance_of Gimei::Address
|
128
143
|
end
|
129
144
|
end
|
130
145
|
|
131
146
|
describe '.prefecture' do
|
132
147
|
it 'Gimei::Address::Prefecture オブジェクトが返ること' do
|
133
|
-
Gimei.prefecture.must_be_instance_of Gimei::Address::Prefecture
|
148
|
+
_(Gimei.prefecture).must_be_instance_of Gimei::Address::Prefecture
|
134
149
|
end
|
135
150
|
end
|
136
151
|
|
137
152
|
describe '#prefecture' do
|
138
153
|
it 'Gimei::Address::Prefecture オブジェクトが返ること' do
|
139
|
-
Gimei.new.prefecture.must_be_instance_of Gimei::Address::Prefecture
|
154
|
+
_(Gimei.new.prefecture).must_be_instance_of Gimei::Address::Prefecture
|
140
155
|
end
|
141
156
|
end
|
142
157
|
|
143
158
|
describe '.city' do
|
144
159
|
it 'Gimei::Address::City オブジェクトが返ること' do
|
145
|
-
Gimei.city.must_be_instance_of Gimei::Address::City
|
160
|
+
_(Gimei.city).must_be_instance_of Gimei::Address::City
|
146
161
|
end
|
147
162
|
end
|
148
163
|
|
149
164
|
describe '#city' do
|
150
165
|
it 'Gimei::Address::City オブジェクトが返ること' do
|
151
|
-
Gimei.new.city.must_be_instance_of Gimei::Address::City
|
166
|
+
_(Gimei.new.city).must_be_instance_of Gimei::Address::City
|
152
167
|
end
|
153
168
|
end
|
154
169
|
|
155
170
|
describe '.town' do
|
156
171
|
it 'Gimei::Address::Town オブジェクトが返ること' do
|
157
|
-
Gimei.town.must_be_instance_of Gimei::Address::Town
|
172
|
+
_(Gimei.town).must_be_instance_of Gimei::Address::Town
|
158
173
|
end
|
159
174
|
end
|
160
175
|
|
161
176
|
describe '#town' do
|
162
177
|
it 'Gimei::Address::Town オブジェクトが返ること' do
|
163
|
-
Gimei.new.town.must_be_instance_of Gimei::Address::Town
|
178
|
+
_(Gimei.new.town).must_be_instance_of Gimei::Address::Town
|
164
179
|
end
|
165
180
|
end
|
166
181
|
end
|
data/spec/name_spec.rb
CHANGED
@@ -6,11 +6,15 @@ describe Gimei::Name do
|
|
6
6
|
before { @name = Gimei::Name.male }
|
7
7
|
|
8
8
|
it 'Gimei::Name オブジェクトが返ること' do
|
9
|
-
@name.must_be_instance_of Gimei::Name
|
9
|
+
_(@name).must_be_instance_of Gimei::Name
|
10
|
+
end
|
11
|
+
|
12
|
+
it '#gender が :male を返すこと' do
|
13
|
+
_(@name.gender).must_equal :male
|
10
14
|
end
|
11
15
|
|
12
16
|
it '#male? が true を返すこと' do
|
13
|
-
@name.male
|
17
|
+
_(@name.male?).must_equal true
|
14
18
|
end
|
15
19
|
end
|
16
20
|
|
@@ -18,71 +22,82 @@ describe Gimei::Name do
|
|
18
22
|
before { @name = Gimei::Name.female }
|
19
23
|
|
20
24
|
it 'Gimei::Name オブジェクトが返ること' do
|
21
|
-
@name.must_be_instance_of Gimei::Name
|
25
|
+
_(@name).must_be_instance_of Gimei::Name
|
26
|
+
end
|
27
|
+
|
28
|
+
it '#gender が :female を返すこと' do
|
29
|
+
_(@name.gender).must_equal :female
|
22
30
|
end
|
23
31
|
|
24
32
|
it '#female? が true を返すこと' do
|
25
|
-
@name.female
|
33
|
+
_(@name.female?).must_equal true
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
37
|
describe '.kanji' do
|
30
38
|
it '全角文字とスペースが返ること' do
|
31
|
-
Gimei::Name.kanji.must_match(/\A[#{Moji.zen}\s]+\z/)
|
39
|
+
_(Gimei::Name.kanji).must_match(/\A[#{Moji.zen}\s]+\z/)
|
32
40
|
end
|
33
41
|
end
|
34
42
|
|
35
43
|
describe '.hiragana' do
|
36
44
|
it 'ひらがなとスペースが返ること' do
|
37
|
-
Gimei::Name.hiragana.must_match(/\A[\p{hiragana}\s]+\z/)
|
45
|
+
_(Gimei::Name.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
|
38
46
|
end
|
39
47
|
end
|
40
48
|
|
41
49
|
describe '.katakana' do
|
42
50
|
it 'カタカナとスペースが返ること' do
|
43
|
-
Gimei::Name.katakana.must_match(/\A[\p{katakana}\s]+\z/)
|
51
|
+
_(Gimei::Name.katakana).must_match(/\A[\p{katakana}\s]+\z/)
|
44
52
|
end
|
45
53
|
end
|
46
54
|
|
47
55
|
describe '.romaji' do
|
48
56
|
it 'ローマ字とスペースが返ること' do
|
49
|
-
Gimei::Name.romaji.must_match(/\A[a-zA-Z\s]+\z/)
|
57
|
+
_(Gimei::Name.romaji).must_match(/\A[a-zA-Z\s]+\z/)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe '#gender' do
|
62
|
+
it ':male または :female が返ること' do
|
63
|
+
_(Gimei::Name.new.gender).must_be_instance_of(Symbol)
|
64
|
+
_(Gimei::Name.new.gender.to_s).must_match(/\A(?:male|female)\Z/)
|
50
65
|
end
|
51
66
|
end
|
52
67
|
|
53
68
|
describe '#kanji' do
|
54
69
|
it '全角文字とスペースが返ること' do
|
55
|
-
Gimei::Name.new.kanji.must_match(/\A[#{Moji.zen}\s]+\z/)
|
70
|
+
_(Gimei::Name.new.kanji).must_match(/\A[#{Moji.zen}\s]+\z/)
|
56
71
|
end
|
57
72
|
end
|
58
73
|
|
59
74
|
describe '#hiragana' do
|
60
75
|
it 'ひらがなとスペースが返ること' do
|
61
|
-
Gimei::Name.new.hiragana.must_match(/\A[\p{hiragana}\s]+\z/)
|
76
|
+
_(Gimei::Name.new.hiragana).must_match(/\A[\p{hiragana}\s]+\z/)
|
62
77
|
end
|
63
78
|
end
|
64
79
|
|
65
80
|
describe '#katakana' do
|
66
81
|
it 'カタカナとスペースが返ること' do
|
67
|
-
Gimei::Name.new.katakana.must_match(/\A[\p{katakana}\s]+\z/)
|
82
|
+
_(Gimei::Name.new.katakana).must_match(/\A[\p{katakana}\s]+\z/)
|
68
83
|
end
|
69
84
|
end
|
70
85
|
|
71
86
|
describe '#first' do
|
72
87
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
73
|
-
Gimei::Name.new.first.must_be_instance_of Gimei::Name::First
|
88
|
+
_(Gimei::Name.new.first).must_be_instance_of Gimei::Name::First
|
74
89
|
end
|
75
90
|
end
|
76
91
|
|
77
92
|
describe '#last' do
|
78
93
|
it 'Gimei::Name::Last オブジェクトが返ること' do
|
79
|
-
Gimei::Name.new.last.must_be_instance_of Gimei::Name::Last
|
94
|
+
_(Gimei::Name.new.last).must_be_instance_of Gimei::Name::Last
|
80
95
|
end
|
81
96
|
end
|
82
97
|
|
83
98
|
describe '.romaji' do
|
84
99
|
it 'ローマ字とスペースが返ること' do
|
85
|
-
Gimei::Name.new.romaji.must_match(/\A[a-zA-Z\s]+\z/)
|
100
|
+
_(Gimei::Name.new.romaji).must_match(/\A[a-zA-Z\s]+\z/)
|
86
101
|
end
|
87
102
|
end
|
88
103
|
end
|
@@ -92,11 +107,11 @@ describe Gimei::Name::First do
|
|
92
107
|
before { @name = Gimei::Name::First.male }
|
93
108
|
|
94
109
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
95
|
-
@name.must_be_instance_of Gimei::Name::First
|
110
|
+
_(@name).must_be_instance_of Gimei::Name::First
|
96
111
|
end
|
97
112
|
|
98
113
|
it '#male? が true を返すこと' do
|
99
|
-
@name.male
|
114
|
+
_(@name.male?).must_equal true
|
100
115
|
end
|
101
116
|
end
|
102
117
|
|
@@ -104,41 +119,41 @@ describe Gimei::Name::First do
|
|
104
119
|
before { @name = Gimei::Name::First.female }
|
105
120
|
|
106
121
|
it 'Gimei::Name::First オブジェクトが返ること' do
|
107
|
-
@name.must_be_instance_of Gimei::Name::First
|
122
|
+
_(@name).must_be_instance_of Gimei::Name::First
|
108
123
|
end
|
109
124
|
|
110
125
|
it '#female? が true を返すこと' do
|
111
|
-
@name.female
|
126
|
+
_(@name.female?).must_equal true
|
112
127
|
end
|
113
128
|
end
|
114
129
|
|
115
130
|
describe '#kanji' do
|
116
131
|
it '全角文字が返ること' do
|
117
|
-
Gimei::Name::First.new.kanji.must_match(/\A#{Moji.zen}+\z/)
|
132
|
+
_(Gimei::Name::First.new.kanji).must_match(/\A#{Moji.zen}+\z/)
|
118
133
|
end
|
119
134
|
end
|
120
135
|
|
121
136
|
describe '#hiragana' do
|
122
137
|
it 'ひらがなが返ること' do
|
123
|
-
Gimei::Name::First.new.hiragana.must_match(/\A\p{hiragana}+\z/)
|
138
|
+
_(Gimei::Name::First.new.hiragana).must_match(/\A\p{hiragana}+\z/)
|
124
139
|
end
|
125
140
|
end
|
126
141
|
|
127
142
|
describe '#katakana' do
|
128
143
|
it 'カタカナが返ること' do
|
129
|
-
Gimei::Name::First.new.katakana.must_match(/\A\p{katakana}+\z/)
|
144
|
+
_(Gimei::Name::First.new.katakana).must_match(/\A\p{katakana}+\z/)
|
130
145
|
end
|
131
146
|
end
|
132
147
|
|
133
148
|
describe '#to_s' do
|
134
149
|
it '全角文字が返ること' do
|
135
|
-
Gimei::Name::First.new.to_s.must_match(/\A#{Moji.zen}+\z/)
|
150
|
+
_(Gimei::Name::First.new.to_s).must_match(/\A#{Moji.zen}+\z/)
|
136
151
|
end
|
137
152
|
end
|
138
153
|
|
139
154
|
describe '#romaji' do
|
140
155
|
it 'アルファベットで返ること' do
|
141
|
-
Gimei::Name::First.new.romaji.must_match(/\A[a-zA-Z]+\z/)
|
156
|
+
_(Gimei::Name::First.new.romaji).must_match(/\A[a-zA-Z]+\z/)
|
142
157
|
end
|
143
158
|
end
|
144
159
|
end
|
@@ -148,31 +163,31 @@ describe Gimei::Name::Last do
|
|
148
163
|
|
149
164
|
describe '#kanji' do
|
150
165
|
it '全角文字が返ること' do
|
151
|
-
@name.kanji.must_match(/\A#{Moji.zen}+\z/)
|
166
|
+
_(@name.kanji).must_match(/\A#{Moji.zen}+\z/)
|
152
167
|
end
|
153
168
|
end
|
154
169
|
|
155
170
|
describe '#hiragana' do
|
156
171
|
it 'ひらがなが返ること' do
|
157
|
-
@name.hiragana.must_match(/\A\p{hiragana}+\z/)
|
172
|
+
_(@name.hiragana).must_match(/\A\p{hiragana}+\z/)
|
158
173
|
end
|
159
174
|
end
|
160
175
|
|
161
176
|
describe '#katakana' do
|
162
177
|
it 'カタカナが返ること' do
|
163
|
-
@name.katakana.must_match(/\A\p{katakana}+\z/)
|
178
|
+
_(@name.katakana).must_match(/\A\p{katakana}+\z/)
|
164
179
|
end
|
165
180
|
end
|
166
181
|
|
167
182
|
describe '#to_s' do
|
168
183
|
it '全角文字が返ること' do
|
169
|
-
@name.to_s.must_match(/\A#{Moji.zen}+\z/)
|
184
|
+
_(@name.to_s).must_match(/\A#{Moji.zen}+\z/)
|
170
185
|
end
|
171
186
|
end
|
172
187
|
|
173
188
|
describe '#romaji' do
|
174
189
|
it 'アルファベットで返ること' do
|
175
|
-
Gimei::Name::First.new.romaji.must_match(/\A[a-z|A-Z]+\z/)
|
190
|
+
_(Gimei::Name::First.new.romaji).must_match(/\A[a-z|A-Z]+\z/)
|
176
191
|
end
|
177
192
|
end
|
178
193
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gimei
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- willnet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: romaji
|
@@ -126,8 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
|
-
|
130
|
-
rubygems_version: 2.6.13
|
129
|
+
rubygems_version: 3.1.2
|
131
130
|
signing_key:
|
132
131
|
specification_version: 4
|
133
132
|
summary: random Japanese name and address generator. support kanji, hiragana, and
|