imasgen 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,211 @@
1
+ :million_live:
2
+ # AS member
3
+ - :last_name: 天海
4
+ :first_name: 春香
5
+ :last_name_furigana: あまみ
6
+ :first_name_furigana: はるか
7
+ - :last_name: 如月
8
+ :first_name: 千早
9
+ :last_name_furigana: きさらぎ
10
+ :first_name_furigana: ちはや
11
+ - :last_name: 萩原
12
+ :first_name: 雪歩
13
+ :last_name_furigana: はぎわら
14
+ :first_name_furigana: ゆきほ
15
+ - :last_name: 高槻
16
+ :first_name: やよい
17
+ :last_name_furigana: たかつき
18
+ :first_name_furigana: やよい
19
+ - :last_name: 秋月
20
+ :first_name: 律子
21
+ :last_name_furigana: あきづき
22
+ :first_name_furigana: りつこ
23
+ - :last_name: 水瀬
24
+ :first_name: 伊織
25
+ :last_name_furigana: みなせ
26
+ :first_name_furigana: いおり
27
+ - :last_name: 三浦
28
+ :first_name: あずさ
29
+ :last_name_furigana: みうら
30
+ :first_name_furigana: あずさ
31
+ - :last_name: 双海
32
+ :first_name: 亜美
33
+ :last_name_furigana: ふたみ
34
+ :first_name_furigana: あみ
35
+ - :last_name: 双海
36
+ :first_name: 真美
37
+ :last_name_furigana: ふたみ
38
+ :first_name_furigana: まみ
39
+ - :last_name: 菊地
40
+ :first_name: 真
41
+ :last_name_furigana: きくち
42
+ :first_name_furigana: まこと
43
+ - :last_name: 星井
44
+ :first_name: 美希
45
+ :last_name_furigana: ほしい
46
+ :first_name_furigana: みき
47
+ - :last_name: 四条
48
+ :first_name: 貴音
49
+ :last_name_furigana: しじょう
50
+ :first_name_furigana: たかね
51
+ - :last_name: 我那覇
52
+ :first_name: 響
53
+ :last_name_furigana: がなは
54
+ :first_name_furigana: ひびき
55
+ # Theater member
56
+ - :last_name: 春日
57
+ :first_name: 未来
58
+ :last_name_furigana: かすが
59
+ :first_name_furigana: みらい
60
+ - :last_name: 木下
61
+ :first_name: ひなた
62
+ :last_name_furigana: きのした
63
+ :first_name_furigana: ひなた
64
+ - :last_name: ''
65
+ :first_name: ジュリア
66
+ :last_name_furigana: ''
67
+ :first_name_furigana: じゅりあ
68
+ - :last_name: 高山
69
+ :first_name: 紗代子
70
+ :last_name_furigana: たかやま
71
+ :first_name_furigana: さよこ
72
+ - :last_name: 田中
73
+ :first_name: 琴葉
74
+ :last_name_furigana: たなか
75
+ :first_name_furigana: ことは
76
+ - :last_name: 天空橋
77
+ :first_name: 朋花
78
+ :last_name_furigana: てんくうばし
79
+ :first_name_furigana: ともか
80
+ - :last_name: 箱崎
81
+ :first_name: 星梨花
82
+ :last_name_furigana: はこざき
83
+ :first_name_furigana: せりか
84
+ - :last_name: 松田
85
+ :first_name: 亜利沙
86
+ :last_name_furigana: まつだ
87
+ :first_name_furigana: ありさ
88
+ - :last_name: 最上
89
+ :first_name: 静香
90
+ :last_name_furigana: もがみ
91
+ :first_name_furigana: しずか
92
+ - :last_name: 望月
93
+ :first_name: 杏奈
94
+ :last_name_furigana: もちづき
95
+ :first_name_furigana: あんな
96
+ - :last_name: 矢吹
97
+ :first_name: 可奈
98
+ :last_name_furigana: やぶき
99
+ :first_name_furigana: かな
100
+ - :last_name: エミリー
101
+ :first_name: スチュアート
102
+ :last_name_furigana: えみりー
103
+ :first_name_furigana: すちゅあーと
104
+ - :last_name: 大神
105
+ :first_name: 環
106
+ :last_name_furigana: おおがみ
107
+ :first_name_furigana: たまき
108
+ - :last_name: 北上
109
+ :first_name: 麗花
110
+ :last_name_furigana: きたかみ
111
+ :first_name_furigana: れいか
112
+ - :last_name: 高坂
113
+ :first_name: 海美
114
+ :last_name_furigana: こうさか
115
+ :first_name_furigana: うみ
116
+ - :last_name: 佐竹
117
+ :first_name: 美奈子
118
+ :last_name_furigana: さたけ
119
+ :first_name_furigana: みなこ
120
+ - :last_name: 島原
121
+ :first_name: エレナ
122
+ :last_name_furigana: しまばら
123
+ :first_name_furigana: えれな
124
+ - :last_name: 永吉
125
+ :first_name: 昴
126
+ :last_name_furigana: ながよし
127
+ :first_name_furigana: すばる
128
+ - :last_name: 野々原
129
+ :first_name: 茜
130
+ :last_name_furigana: ののはら
131
+ :first_name_furigana: あかね
132
+ - :last_name: 馬場
133
+ :first_name: このみ
134
+ :last_name_furigana: ばば
135
+ :first_name_furigana: このみ
136
+ - :last_name: 福田
137
+ :first_name: のり子
138
+ :last_name_furigana: ふくだ
139
+ :first_name_furigana: のりこ
140
+ - :last_name: 舞浜
141
+ :first_name: 歩
142
+ :last_name_furigana: まいはま
143
+ :first_name_furigana: あゆむ
144
+ - :last_name: 真壁
145
+ :first_name: 瑞希
146
+ :last_name_furigana: まかべ
147
+ :first_name_furigana: みずき
148
+ - :last_name: 百瀬
149
+ :first_name: 莉緒
150
+ :last_name_furigana: ももせ
151
+ :first_name_furigana: りお
152
+ - :last_name: 横山
153
+ :first_name: 奈緒
154
+ :last_name_furigana: よこやま
155
+ :first_name_furigana: なお
156
+ - :last_name: 伊吹
157
+ :first_name: 翼
158
+ :last_name_furigana: いぶき
159
+ :first_name_furigana: つばさ
160
+ - :last_name: 北沢
161
+ :first_name: 志保
162
+ :last_name_furigana: きたざわ
163
+ :first_name_furigana: しほ
164
+ - :last_name: 篠宮
165
+ :first_name: 可憐
166
+ :last_name_furigana: しのみや
167
+ :first_name_furigana: かれん
168
+ - :last_name: 周防
169
+ :first_name: 桃子
170
+ :last_name_furigana: すおう
171
+ :first_name_furigana: ももこ
172
+ - :last_name: 徳川
173
+ :first_name: まつり
174
+ :last_name_furigana: とくがわ
175
+ :first_name_furigana: まつり
176
+ - :last_name: 所
177
+ :first_name: 恵美
178
+ :last_name_furigana: ところ
179
+ :first_name_furigana: めぐみ
180
+ - :last_name: 豊川
181
+ :first_name: 風花
182
+ :last_name_furigana: とよかわ
183
+ :first_name_furigana: ふうか
184
+ - :last_name: 中谷
185
+ :first_name: 育
186
+ :last_name_furigana: なかたに
187
+ :first_name_furigana: いく
188
+ - :last_name: 七尾
189
+ :first_name: 百合子
190
+ :last_name_furigana: ななお
191
+ :first_name_furigana: ゆりこ
192
+ - :last_name: 二階堂
193
+ :first_name: 千鶴
194
+ :last_name_furigana: にかいどう
195
+ :first_name_furigana: ちづる
196
+ - :last_name: 宮尾
197
+ :first_name: 美也
198
+ :last_name_furigana: みやお
199
+ :first_name_furigana: みや
200
+ - :last_name: 伴田
201
+ :first_name: 路子
202
+ :last_name_furigana: はんだ
203
+ :first_name_furigana: ろこ
204
+ - :last_name: 桜守
205
+ :first_name: 歌織
206
+ :last_name_furigana: さくらもり
207
+ :first_name_furigana: かおり
208
+ - :last_name: 白石
209
+ :first_name: 紬
210
+ :last_name_furigana: しらいし
211
+ :first_name_furigana: つむぎ
@@ -0,0 +1,185 @@
1
+ :sidem:
2
+ - :last_name: 葛之葉
3
+ :first_name: 雨彦
4
+ :last_name_furigana: くずのは
5
+ :first_name_furigana: あめひこ
6
+ - :last_name: 古論
7
+ :first_name: クリス
8
+ :last_name_furigana: ころん
9
+ :first_name_furigana: クリス
10
+ - :last_name: 北村
11
+ :first_name: 想楽
12
+ :last_name_furigana: きたむら
13
+ :first_name_furigana: そら
14
+ - :last_name: 木村
15
+ :first_name: 龍
16
+ :last_name_furigana: きむら
17
+ :first_name_furigana: りゅう
18
+ - :last_name: 握野
19
+ :first_name: 英雄
20
+ :last_name_furigana: あくの
21
+ :first_name_furigana: ひでお
22
+ - :last_name: 信玄
23
+ :first_name: 誠司
24
+ :last_name_furigana: しんげん
25
+ :first_name_furigana: せいじ
26
+ - :last_name: 兜
27
+ :first_name: 大吾
28
+ :last_name_furigana: かぶと
29
+ :first_name_furigana: だいご
30
+ - :last_name: 九十九
31
+ :first_name: 一希
32
+ :last_name_furigana: つくも
33
+ :first_name_furigana: かずき
34
+ - :last_name: 秋月
35
+ :first_name: 涼
36
+ :last_name_furigana: あきづき
37
+ :first_name_furigana: りょう
38
+ - :last_name: 渡辺
39
+ :first_name: みのり
40
+ :last_name_furigana: わたなべ
41
+ :first_name_furigana: みのり
42
+ - :last_name: 鷹城
43
+ :first_name: 恭二
44
+ :last_name_furigana: たかじょう
45
+ :first_name_furigana: きょうじ
46
+ - :last_name: ''
47
+ :first_name: ピエール
48
+ :last_name_furigana: ''
49
+ :first_name_furigana: ぴえーる
50
+ - :last_name: 秋山
51
+ :first_name: 隼人
52
+ :last_name_furigana: あきやま
53
+ :first_name_furigana: はやと
54
+ - :last_name: 伊瀬谷
55
+ :first_name: 四季
56
+ :last_name_furigana: いせや
57
+ :first_name_furigana: しき
58
+ - :last_name: 冬美
59
+ :first_name: 旬
60
+ :last_name_furigana: ふゆみ
61
+ :first_name_furigana: じゅん
62
+ - :last_name: 榊
63
+ :first_name: 夏来
64
+ :last_name_furigana: さかき
65
+ :first_name_furigana: なつき
66
+ - :last_name: 若里
67
+ :first_name: 春名
68
+ :last_name_furigana: わかざと
69
+ :first_name_furigana: はるな
70
+ - :last_name: 天道
71
+ :first_name: 輝
72
+ :last_name_furigana: てんどう
73
+ :first_name_furigana: てる
74
+ - :last_name: 桜庭
75
+ :first_name: 薫
76
+ :last_name_furigana: さくらば
77
+ :first_name_furigana: かおる
78
+ - :last_name: 柏木
79
+ :first_name: 翼
80
+ :last_name_furigana: かしわぎ
81
+ :first_name_furigana: つばさ
82
+ - :last_name: 蒼井
83
+ :first_name: 享介
84
+ :last_name_furigana: あおい
85
+ :first_name_furigana: きょうすけ
86
+ - :last_name: 蒼井
87
+ :first_name: 悠介
88
+ :last_name_furigana: あおい
89
+ :first_name_furigana: ゆうすけ
90
+ - :last_name: 硲
91
+ :first_name: 道夫
92
+ :last_name_furigana: はざま
93
+ :first_name_furigana: みちお
94
+ - :last_name: 山下
95
+ :first_name: 次郎
96
+ :last_name_furigana: やました
97
+ :first_name_furigana: じろう
98
+ - :last_name: 舞田
99
+ :first_name: 類
100
+ :last_name_furigana: まいた
101
+ :first_name_furigana: るい
102
+ - :last_name: 天ヶ瀬
103
+ :first_name: 冬馬
104
+ :last_name_furigana: あまがせ
105
+ :first_name_furigana: とうま
106
+ - :last_name: 伊集院
107
+ :first_name: 北斗
108
+ :last_name_furigana: いじゅういん
109
+ :first_name_furigana: ほくと
110
+ - :last_name: 御手洗
111
+ :first_name: 翔太
112
+ :last_name_furigana: みたらい
113
+ :first_name_furigana: しょうた
114
+ - :last_name: 大河
115
+ :first_name: タケル
116
+ :last_name_furigana: たいが
117
+ :first_name_furigana: タケル
118
+ - :last_name: 円城寺
119
+ :first_name: 道流
120
+ :last_name_furigana: えんじょうじ
121
+ :first_name_furigana: みちる
122
+ - :last_name: 牙崎
123
+ :first_name: 漣
124
+ :last_name_furigana: きざき
125
+ :first_name_furigana: れん
126
+ - :last_name: ''
127
+ :first_name: アスラン=BB Ⅱ世
128
+ :last_name_furigana: ''
129
+ :first_name_furigana: アスラン・ベルゼビュート・にせい
130
+ - :last_name: 水嶋
131
+ :first_name: 咲
132
+ :last_name_furigana: みずしま
133
+ :first_name_furigana: さき
134
+ - :last_name: 東雲
135
+ :first_name: 荘一郎
136
+ :last_name_furigana: しののめ
137
+ :first_name_furigana: そういちろう
138
+ - :last_name: 神谷
139
+ :first_name: 幸広
140
+ :last_name_furigana: かみや
141
+ :first_name_furigana: ゆきひろ
142
+ - :last_name: 卯月
143
+ :first_name: 巻緒
144
+ :last_name_furigana: うづき
145
+ :first_name_furigana: まきお
146
+ - :last_name: 神楽
147
+ :first_name: 麗
148
+ :last_name_furigana: かぐら
149
+ :first_name_furigana: れい
150
+ - :last_name: 都築
151
+ :first_name: 圭
152
+ :last_name_furigana: つづき
153
+ :first_name_furigana: けい
154
+ - :last_name: 橘
155
+ :first_name: 志狼
156
+ :last_name_furigana: たちばな
157
+ :first_name_furigana: しろう
158
+ - :last_name: 岡村
159
+ :first_name: 直央
160
+ :last_name_furigana: おかむら
161
+ :first_name_furigana: なお
162
+ - :last_name: 姫野
163
+ :first_name: かのん
164
+ :last_name_furigana: ひめの
165
+ :first_name_furigana: かのん
166
+ - :last_name: 紅井
167
+ :first_name: 朱雀
168
+ :last_name_furigana: あかい
169
+ :first_name_furigana: すざく
170
+ - :last_name: 黒野
171
+ :first_name: 玄武
172
+ :last_name_furigana: くろの
173
+ :first_name_furigana: げんぶ
174
+ - :last_name: 猫柳
175
+ :first_name: キリオ
176
+ :last_name_furigana: ねこやなぎ
177
+ :first_name_furigana: キリオ
178
+ - :last_name: 華村
179
+ :first_name: 翔真
180
+ :last_name_furigana: はなむら
181
+ :first_name_furigana: しょうま
182
+ - :last_name: 清澄
183
+ :first_name: 九郎
184
+ :last_name_furigana: きよすみ
185
+ :first_name_furigana: くろう
@@ -0,0 +1,76 @@
1
+ require 'imasgen/name'
2
+
3
+ module Imasgen
4
+ class GeneratorBase
5
+ attr_accessor :auto_reset
6
+ attr_reader :be_strict
7
+
8
+ def initialize
9
+ @namedic = []
10
+ @used_pair = []
11
+ @auto_reset = false
12
+ @be_strict = true
13
+ end
14
+
15
+ def unique
16
+ @unique_i ||= self.class.new
17
+ end
18
+
19
+ def reset
20
+ # reset dictonary cache
21
+ @basedic = nil
22
+ @first_names = nil
23
+ @last_names = nil
24
+ @comb = nil
25
+ end
26
+
27
+ def be_strict=(val)
28
+ @be_strict = val
29
+ reset
30
+ end
31
+
32
+ def name
33
+ # return random item.(no shuffle in first name and last name)
34
+ item = lambda {
35
+ @basedic ||= @be_strict ? @namedic.select {|i| i[:last_name] != '' && i[:first_name] != ''} : @namedic
36
+ retval = @basedic.reject {|i| i[:used]}.sample
37
+ raise StandardError.new('Already used all name pairs.') if retval.nil? && !@auto_reset
38
+ if retval.nil? && @auto_reset
39
+ # delete used flag
40
+ @basedic.each {|i| i.delete(:used)}
41
+ retval = @namedic.sample
42
+ end
43
+ retval
44
+ }.call
45
+ item[:used] = true
46
+ Imasgen::Name.new(item)
47
+ end
48
+
49
+ def hotchpotch
50
+ # hotchpotch mode
51
+ item = lambda {
52
+ @basedic ||= @be_strict ? @namedic.select {|i| i[:last_name] != '' && i[:first_name] != ''} : @namedic
53
+ # make shuffle dictionary
54
+ @first_names ||= @basedic.map {|i| {first_name: i[:first_name], first_name_furigana: i[:first_name_furigana]}}
55
+ @last_names ||= @basedic.map {|i| {last_name: i[:last_name], last_name_furigana: i[:last_name_furigana]}}
56
+ # shuffle!!
57
+ @comb ||= @first_names.product(@last_names).map {|i| i[0].merge(i[1])}
58
+ # get non duplicate item
59
+ ret = @comb.reject {|i| i[:used]}.sample
60
+ return ret unless ret.nil?
61
+ if @auto_reset
62
+ @comb.each {|i| i.delete(:used)}
63
+ ret
64
+ else
65
+ raise StandardError.new('Already used all name pairs.')
66
+ end
67
+ }.call
68
+ item[:used] = true
69
+ Imasgen::Name.new(item)
70
+ end
71
+
72
+ def self.getyaml
73
+ throw NotImplementedError
74
+ end
75
+ end
76
+ end