rubiderella 0.1.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/.github/workflows/coverage.yml +43 -0
- data/.github/workflows/test.yml +33 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +0 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +126 -0
- data/LICENSE.txt +21 -0
- data/README.md +243 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/config/idols/abe_nana.yml +24 -0
- data/config/idols/aiba_yumi.yml +24 -0
- data/config/idols/aihara_yukino.yml +24 -0
- data/config/idols/aikawa_chilatsu.yml +24 -0
- data/config/idols/aino_nagisa.yml +24 -0
- data/config/idols/akagi_miria.yml +24 -0
- data/config/idols/akanishi_erika.yml +24 -0
- data/config/idols/anastasia.yml +25 -0
- data/config/idols/anzai_miyako.yml +25 -0
- data/config/idols/araki_hina.yml +24 -0
- data/config/idols/ariura_kanna.yml +24 -0
- data/config/idols/asano_fuka.yml +24 -0
- data/config/idols/asari_nanami.yml +25 -0
- data/config/idols/ayase_honoka.yml +24 -0
- data/config/idols/cathy_graham.yml +25 -0
- data/config/idols/clarice.yml +24 -0
- data/config/idols/domyoji_karin.yml +24 -0
- data/config/idols/ebihara_noho.yml +25 -0
- data/config/idols/egami_tsubaki.yml +24 -0
- data/config/idols/etou_misaki.yml +25 -0
- data/config/idols/eve_santaclaus.yml +24 -0
- data/config/idols/fujii_tomo.yml +24 -0
- data/config/idols/fujimoto_rina.yml +25 -0
- data/config/idols/fujiwara_hajime.yml +25 -0
- data/config/idols/fukuyama_mai.yml +24 -0
- data/config/idols/furusawa_yoriko.yml +24 -0
- data/config/idols/futaba_anzu.yml +24 -0
- data/config/idols/hamaguchi_ayame.yml +26 -0
- data/config/idols/hamakawa_ayuna.yml +24 -0
- data/config/idols/harada_miyo.yml +24 -0
- data/config/idols/hattori_toko.yml +25 -0
- data/config/idols/hayami_kanade.yml +24 -0
- data/config/idols/hayasaka_mirei.yml +24 -0
- data/config/idols/helen.yml +24 -0
- data/config/idols/hiiragi_shino.yml +24 -0
- data/config/idols/himekawa_yuki.yml +24 -0
- data/config/idols/hino_akane.yml +24 -0
- data/config/idols/hisakawa_hayate.yml +25 -0
- data/config/idols/hisakawa_nagi.yml +26 -0
- data/config/idols/hojo_karen.yml +24 -0
- data/config/idols/honda_mio.yml +24 -0
- data/config/idols/hori_yuko.yml +24 -0
- data/config/idols/hoshi_syoko.yml +24 -0
- data/config/idols/hyodo_rena.yml +24 -0
- data/config/idols/ichihara_nina.yml +24 -0
- data/config/idols/ichinose_shiki.yml +26 -0
- data/config/idols/igarashi_kyoko.yml +24 -0
- data/config/idols/ijuin_megumi.yml +24 -0
- data/config/idols/ikebukuro_akiha.yml +24 -0
- data/config/idols/imai_kana.yml +24 -0
- data/config/idols/imura_setsuna.yml +24 -0
- data/config/idols/jougasaki_mika.yml +24 -0
- data/config/idols/jougasaki_rika.yml +24 -0
- data/config/idols/kamijo_haruna.yml +24 -0
- data/config/idols/kamiya_nao.yml +24 -0
- data/config/idols/kanzaki_ranko.yml +24 -0
- data/config/idols/katagiri_sanae.yml +25 -0
- data/config/idols/kate.yml +24 -0
- data/config/idols/kawashima_mizuki.yml +25 -0
- data/config/idols/kiba_manami.yml +25 -0
- data/config/idols/kimura_natsuki.yml +24 -0
- data/config/idols/kirino_aya.yml +24 -0
- data/config/idols/kiryu_tsukasa.yml +26 -0
- data/config/idols/kishibe_ayaka.yml +26 -0
- data/config/idols/kita_hinako.yml +24 -0
- data/config/idols/kitagawa_mahiro.yml +26 -0
- data/config/idols/kitami_yuzu.yml +24 -0
- data/config/idols/kobayakawa_sae.yml +24 -0
- data/config/idols/koga_koharu.yml +25 -0
- data/config/idols/kohinata_miho.yml +24 -0
- data/config/idols/komatsu_ibuki.yml +26 -0
- data/config/idols/komurro_chinami.yml +24 -0
- data/config/idols/koseki_reina.yml +24 -0
- data/config/idols/koshimuzu_sachiko.yml +24 -0
- data/config/idols/kudo_shinobu.yml +24 -0
- data/config/idols/kurihara_nene.yml +25 -0
- data/config/idols/kurokawa_chiaki.yml +24 -0
- data/config/idols/kurosaki_chitose.yml +25 -0
- data/config/idols/kusakabe_wakaba.yml +24 -0
- data/config/idols/layla.yml +24 -0
- data/config/idols/maekawa_miku.yml +24 -0
- data/config/idols/makihara_shiho.yml +24 -0
- data/config/idols/manabe_itsuki.yml +24 -0
- data/config/idols/manaka_misato.yml +24 -0
- data/config/idols/mary_cochran.yml +25 -0
- data/config/idols/matoba_risa.yml +25 -0
- data/config/idols/matsubara_saya.yml +24 -0
- data/config/idols/matsumoto_sarina.yml +24 -0
- data/config/idols/matsunaga_ryo.yml +24 -0
- data/config/idols/matsuo_chizuru.yml +25 -0
- data/config/idols/matsuyama_kumiko.yml +24 -0
- data/config/idols/mifune_miyu.yml +24 -0
- data/config/idols/mimura_kanako.yml +24 -0
- data/config/idols/miyamoto_frederica.yml +24 -0
- data/config/idols/miyoshi_sana.yml +25 -0
- data/config/idols/mizuki_seira.yml +24 -0
- data/config/idols/mizumoto_yukari.yml +24 -0
- data/config/idols/mizuno_midori.yml +24 -0
- data/config/idols/mochida_arisa.yml +24 -0
- data/config/idols/mochizuki_hijiri.yml +24 -0
- data/config/idols/momoi_azuki.yml +24 -0
- data/config/idols/morikubo_nono.yml +25 -0
- data/config/idols/moroboshi_kirari.yml +24 -0
- data/config/idols/mukai_takumi.yml +24 -0
- data/config/idols/munakata_atsumi.yml +24 -0
- data/config/idols/murakami_tomoe.yml +25 -0
- data/config/idols/muramatsu_sakura.yml +24 -0
- data/config/idols/nagatomi_hasumi.yml +25 -0
- data/config/idols/nakano_yuka.yml +24 -0
- data/config/idols/namba_emi.yml +25 -0
- data/config/idols/namiki_meiko.yml +24 -0
- data/config/idols/nanjo_hikaru.yml +25 -0
- data/config/idols/narumiya_yume.yml +25 -0
- data/config/idols/natalia.yml +24 -0
- data/config/idols/ninomiya_asuka.yml +26 -0
- data/config/idols/nishijima_kai.yml +24 -0
- data/config/idols/nishikawa_honami.yml +25 -0
- data/config/idols/nitta_minami.yml +25 -0
- data/config/idols/niwa_hitomi.yml +25 -0
- data/config/idols/nonomura_sora.yml +24 -0
- data/config/idols/ogata_chieri.yml +24 -0
- data/config/idols/ohara_michiru.yml +24 -0
- data/config/idols/ohishi_izumi.yml +24 -0
- data/config/idols/ohnishi_yuriko.yml +25 -0
- data/config/idols/ohnuma_kurumi.yml +25 -0
- data/config/idols/ohta_yu.yml +25 -0
- data/config/idols/ohtsuki_yui.yml +24 -0
- data/config/idols/oikawa_shizuku.yml +25 -0
- data/config/idols/okazaki_yasuha.yml +24 -0
- data/config/idols/okuyama_saori.yml +24 -0
- data/config/idols/otokura_yuki.yml +25 -0
- data/config/idols/ryuzaki_kaoru.yml +24 -0
- data/config/idols/saejima_kiyomi.yml +26 -0
- data/config/idols/sagisawa_fumika.yml +25 -0
- data/config/idols/saionji_kotoka.yml +24 -0
- data/config/idols/saito_yoko.yml +24 -0
- data/config/idols/sajo_yukimi.yml +24 -0
- data/config/idols/sakakibara_satomi.yml +24 -0
- data/config/idols/sakuma_mayu.yml +25 -0
- data/config/idols/sakurai_momoka.yml +24 -0
- data/config/idols/sasaki_chie.yml +24 -0
- data/config/idols/sato_shin.yml +25 -0
- data/config/idols/sawada_marina.yml +24 -0
- data/config/idols/seki_hiromi.yml +24 -0
- data/config/idols/sena_shiori.yml +24 -0
- data/config/idols/senzaki_ema.yml +24 -0
- data/config/idols/shibuya_rin.yml +24 -0
- data/config/idols/shiina_noriko.yml +24 -0
- data/config/idols/shimara_uzuki.yml +24 -0
- data/config/idols/shinohara_rei.yml +24 -0
- data/config/idols/shiomi_syuko.yml +25 -0
- data/config/idols/shiragiku_hotaru.yml +25 -0
- data/config/idols/shirasaka_koume.yml +25 -0
- data/config/idols/shirayuki_chiyo.yml +25 -0
- data/config/idols/shuto_aoi.yml +24 -0
- data/config/idols/soma_natsumi.yml +24 -0
- data/config/idols/sugisaka_umi.yml +24 -0
- data/config/idols/sunazuka_akira.yml +26 -0
- data/config/idols/suzumiya_seika.yml +24 -0
- data/config/idols/tachibana_arisu.yml +25 -0
- data/config/idols/tada_riina.yml +24 -0
- data/config/idols/takafuji_kako.yml +24 -0
- data/config/idols/takagaki_kaede.yml +24 -0
- data/config/idols/takahashi_reiko.yml +24 -0
- data/config/idols/takamine_noa.yml +24 -0
- data/config/idols/takamori_aiko.yml +24 -0
- data/config/idols/togo_ai.yml +24 -0
- data/config/idols/totoki_airi.yml +24 -0
- data/config/idols/tsuchiya_ako.yml +25 -0
- data/config/idols/tsujino_akari.yml +25 -0
- data/config/idols/tsukimiya_miyabi.yml +24 -0
- data/config/idols/ueda_suzuho.yml +24 -0
- data/config/idols/ujiie_mutsumi.yml +25 -0
- data/config/idols/umeki_otoha.yml +25 -0
- data/config/idols/wakabayashi_tomoka.yml +24 -0
- data/config/idols/wakiyama_tamami.yml +25 -0
- data/config/idols/wakui_rumi.yml +24 -0
- data/config/idols/yagami_makino.yml +24 -0
- data/config/idols/yaguchi_miu.yml +24 -0
- data/config/idols/yamato_aki.yml +25 -0
- data/config/idols/yanagi_kiyora.yml +24 -0
- data/config/idols/yanase_miyuki.yml +24 -0
- data/config/idols/yao_fueifuei.yml +24 -0
- data/config/idols/yokoyama_chika.yml +24 -0
- data/config/idols/yorita_yoshino.yml +26 -0
- data/config/idols/yoshioka_saki.yml +24 -0
- data/config/idols/yumemi_riamu.yml +25 -0
- data/config/idols/yusa_kozue.yml +24 -0
- data/config/idols/yuuki_haru.yml +24 -0
- data/config/idols/zaizen_tokiko.yml +25 -0
- data/lib/cinderella_girls.rb +7 -0
- data/lib/cinderella_girls/idol.rb +15 -0
- data/lib/rubiderella.rb +11 -0
- data/lib/rubiderella/idol.rb +59 -0
- data/lib/rubiderella/idol/birthday.rb +18 -0
- data/lib/rubiderella/idol/name.rb +24 -0
- data/lib/rubiderella/version.rb +5 -0
- data/rubiderella.gemspec +36 -0
- metadata +370 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yaguchi_miu:
|
3
|
+
name:
|
4
|
+
last: 矢口
|
5
|
+
last_kana: やぐち
|
6
|
+
first: 美羽
|
7
|
+
first_kana: みう
|
8
|
+
type: passion
|
9
|
+
age: 14
|
10
|
+
birthday:
|
11
|
+
month: 7
|
12
|
+
day: 10
|
13
|
+
sign: 蟹座
|
14
|
+
blood: B
|
15
|
+
height: 150.0
|
16
|
+
weight: 41.0
|
17
|
+
bust: 81.0
|
18
|
+
waist: 56.0
|
19
|
+
hip: 80.0
|
20
|
+
handed: right
|
21
|
+
from: 千葉県
|
22
|
+
favorite:
|
23
|
+
- メール
|
24
|
+
cv: ~
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
yamato_aki:
|
3
|
+
name:
|
4
|
+
last: 大和
|
5
|
+
last_kana: やまと
|
6
|
+
first: 亜季
|
7
|
+
first_kana: あき
|
8
|
+
type: cool
|
9
|
+
age: 21
|
10
|
+
birthday:
|
11
|
+
month: 12
|
12
|
+
day: 16
|
13
|
+
sign: 射手座
|
14
|
+
blood: O
|
15
|
+
height: 165.0
|
16
|
+
weight: 51.0
|
17
|
+
bust: 92.0
|
18
|
+
waist: 60.0
|
19
|
+
hip: 85.0
|
20
|
+
handed: left
|
21
|
+
from: 福岡県
|
22
|
+
favorite:
|
23
|
+
- サバゲー
|
24
|
+
- プラモ収集
|
25
|
+
cv: 村中知
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yanagi_kiyora:
|
3
|
+
name:
|
4
|
+
last: 柳清
|
5
|
+
last_kana: やなぎ
|
6
|
+
first: 良
|
7
|
+
first_kana: きよら
|
8
|
+
type: cute
|
9
|
+
age: 23
|
10
|
+
birthday:
|
11
|
+
month: 5
|
12
|
+
day: 12
|
13
|
+
sign: 牡羊座
|
14
|
+
blood: O
|
15
|
+
height: 158.0
|
16
|
+
weight: 47.0
|
17
|
+
bust: 85.0
|
18
|
+
waist: 58.0
|
19
|
+
hip: 86.0
|
20
|
+
handed: right
|
21
|
+
from: 愛媛県
|
22
|
+
favorite:
|
23
|
+
- ドキュメンタリー番組鑑賞
|
24
|
+
cv: ~
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yamase_miyuki:
|
3
|
+
name:
|
4
|
+
last: 柳瀬
|
5
|
+
last_kana: やなせ
|
6
|
+
first: 美由紀
|
7
|
+
first_kana: みゆき
|
8
|
+
type: cute
|
9
|
+
age: 14
|
10
|
+
birthday:
|
11
|
+
month: 3
|
12
|
+
day: 16
|
13
|
+
sign: 魚座
|
14
|
+
blood: O
|
15
|
+
height: 144.0
|
16
|
+
weight: 33.0
|
17
|
+
bust: 75.0
|
18
|
+
waist: 54.0
|
19
|
+
hip: 77.0
|
20
|
+
handed: right
|
21
|
+
from: 北海道
|
22
|
+
favorite:
|
23
|
+
- ぬいぐるみ集め
|
24
|
+
cv: ~
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yao_fueifuei:
|
3
|
+
name:
|
4
|
+
last: 楊
|
5
|
+
last_kana: やお
|
6
|
+
first: 菲菲
|
7
|
+
first_kana: ふぇいふぇい
|
8
|
+
type: cute
|
9
|
+
age: 15
|
10
|
+
birthday:
|
11
|
+
month: 9
|
12
|
+
day: 29
|
13
|
+
sign: 天秤座
|
14
|
+
blood: O
|
15
|
+
height: 152.0
|
16
|
+
weight: 41.0
|
17
|
+
bust: 82.0
|
18
|
+
waist: 58.0
|
19
|
+
hip: 84.0
|
20
|
+
handed: right
|
21
|
+
from: 香港
|
22
|
+
favorite:
|
23
|
+
- 料理
|
24
|
+
cv: ~
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yokoyama_chika:
|
3
|
+
name:
|
4
|
+
last: 横山
|
5
|
+
last_kana: よこやま
|
6
|
+
first: 千佳
|
7
|
+
first_kana: ちか
|
8
|
+
type: cute
|
9
|
+
age: 9
|
10
|
+
birthday:
|
11
|
+
month: 12
|
12
|
+
day: 18
|
13
|
+
sign: 射手座
|
14
|
+
blood: A
|
15
|
+
height: 127.0
|
16
|
+
weight: 31.0
|
17
|
+
bust: 61.0
|
18
|
+
waist: 55.0
|
19
|
+
hip: 65.0
|
20
|
+
handed: right
|
21
|
+
from: 宮崎県
|
22
|
+
favorite:
|
23
|
+
- 魔法少女ごっこ
|
24
|
+
cv: ~
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
yorita_yoshino:
|
3
|
+
name:
|
4
|
+
last: 依田
|
5
|
+
last_kana: よりた
|
6
|
+
first: 芳乃
|
7
|
+
first_kana: よしの
|
8
|
+
type: passion
|
9
|
+
age: 16
|
10
|
+
birthday:
|
11
|
+
month: 7
|
12
|
+
day: 3
|
13
|
+
sign: 蟹座
|
14
|
+
blood: O
|
15
|
+
height: 151.0
|
16
|
+
weight: 40.0
|
17
|
+
bust: 73.0
|
18
|
+
waist: 53.0
|
19
|
+
hip: 73.0
|
20
|
+
handed: right
|
21
|
+
from: 鹿児島県
|
22
|
+
favorite:
|
23
|
+
- 悩み事解決
|
24
|
+
- 石ころ集め
|
25
|
+
- 失せ物探し
|
26
|
+
cv: 高田憂希
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yoshioka_saki:
|
3
|
+
name:
|
4
|
+
last: 吉岡
|
5
|
+
last_kana: よしおか
|
6
|
+
first: 沙紀
|
7
|
+
first_kana: さき
|
8
|
+
type: cool
|
9
|
+
age: 17
|
10
|
+
birthday:
|
11
|
+
month: 5
|
12
|
+
day: 8
|
13
|
+
sign: 牡羊座
|
14
|
+
blood: A
|
15
|
+
height: 166.0
|
16
|
+
weight: 43.0
|
17
|
+
bust: 86.0
|
18
|
+
waist: 60.0
|
19
|
+
hip: 85.0
|
20
|
+
handed: right
|
21
|
+
from: 神奈川県
|
22
|
+
favorite:
|
23
|
+
- ストリートアート
|
24
|
+
cv: ~
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
yumemi_riamu:
|
3
|
+
name:
|
4
|
+
last: 夢見
|
5
|
+
last_kana: ゆめみ
|
6
|
+
first: りあむ
|
7
|
+
first_kana: りあむ
|
8
|
+
type: passion
|
9
|
+
age: 19
|
10
|
+
birthday:
|
11
|
+
month: 9
|
12
|
+
day: 12
|
13
|
+
sign: 乙女座
|
14
|
+
blood: AB
|
15
|
+
height: 149.0
|
16
|
+
weight: リンゴたくさん
|
17
|
+
bust: でっかい(95.0)
|
18
|
+
waist: ふつう
|
19
|
+
hip: たぶんふつう
|
20
|
+
handed: right
|
21
|
+
from: やさしい世界
|
22
|
+
favorite:
|
23
|
+
- 夜中の意味深ポエム
|
24
|
+
- 現場参戦
|
25
|
+
cv: 星希成奏
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yusa_kozue:
|
3
|
+
name:
|
4
|
+
last: 遊佐
|
5
|
+
last_kana: ゆさ
|
6
|
+
first: こずえ
|
7
|
+
first_kana: こずえ
|
8
|
+
type: cute
|
9
|
+
age: 11
|
10
|
+
birthday:
|
11
|
+
month: 2
|
12
|
+
day: 19
|
13
|
+
sign: 魚座
|
14
|
+
blood: B
|
15
|
+
height: 130.0
|
16
|
+
weight: 28.0
|
17
|
+
bust: 62.0
|
18
|
+
waist: 50.0
|
19
|
+
hip: 65.0
|
20
|
+
handed: right
|
21
|
+
from: 高知県
|
22
|
+
favorite:
|
23
|
+
- しゅみってなぁに?
|
24
|
+
cv: 花谷麻妃
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
yuuki_haru:
|
3
|
+
name:
|
4
|
+
last: 結城
|
5
|
+
last_kana: ゆうき
|
6
|
+
first: 晴
|
7
|
+
first_kana: はる
|
8
|
+
type: cool
|
9
|
+
age: 12
|
10
|
+
birthday:
|
11
|
+
month: 7
|
12
|
+
day: 17
|
13
|
+
sign: 蟹座
|
14
|
+
blood: A
|
15
|
+
height: 140.0
|
16
|
+
weight: 37.0
|
17
|
+
bust: 74.0
|
18
|
+
waist: 55.0
|
19
|
+
hip: 78.0
|
20
|
+
handed: right
|
21
|
+
from: 愛媛県
|
22
|
+
favorite:
|
23
|
+
- サッカー
|
24
|
+
cv: 小市眞琴
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
zaizen_tokiko:
|
3
|
+
name:
|
4
|
+
last: 財前
|
5
|
+
last_kana: ざいぜん
|
6
|
+
first: 時子
|
7
|
+
first_kana: ときこ
|
8
|
+
type: passion
|
9
|
+
age: 21
|
10
|
+
birthday:
|
11
|
+
month: 4
|
12
|
+
day: 18
|
13
|
+
sign: 牡羊座
|
14
|
+
blood: B
|
15
|
+
height: 168.0
|
16
|
+
weight: 46.0
|
17
|
+
bust: 83.0
|
18
|
+
waist: 55.0
|
19
|
+
hip: 85.0
|
20
|
+
handed: right
|
21
|
+
from: 愛知県(名古屋市)
|
22
|
+
favorite:
|
23
|
+
- お仕置き
|
24
|
+
- 豚を料理すること
|
25
|
+
cv: ~
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CinderellaGirls
|
4
|
+
class Idol
|
5
|
+
Rubiderella::Idol.names.each do |name|
|
6
|
+
define_singleton_method name do
|
7
|
+
Rubiderella::Idol.find_by_key(name)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.all
|
12
|
+
Rubiderella::Idol.all
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/rubiderella.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'yaml'
|
5
|
+
require 'pry-byebug'
|
6
|
+
require 'rubiderella/idol'
|
7
|
+
require 'rubiderella/idol/name'
|
8
|
+
require 'rubiderella/idol/birthday'
|
9
|
+
require 'rubiderella/version'
|
10
|
+
require 'cinderella_girls'
|
11
|
+
require 'cinderella_girls/idol'
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Rubiderella
|
4
|
+
class Idol
|
5
|
+
attr_reader :name, :type, :age, :birthday, :sign, :blood, :height, :weight, :bust, :waist, :hip, :handed, :from,
|
6
|
+
:favorite, :cv
|
7
|
+
@config = nil
|
8
|
+
@all = nil
|
9
|
+
|
10
|
+
def initialize(args)
|
11
|
+
@name = Name.new(args[:name])
|
12
|
+
@type = args[:type]
|
13
|
+
@age = args[:age]
|
14
|
+
@birthday = Birthday.new(args[:birthday])
|
15
|
+
@sign = args[:sign]
|
16
|
+
@blood = args[:blood]
|
17
|
+
@height = args[:height]
|
18
|
+
@weight = args[:weight]
|
19
|
+
@bust = args[:bust]
|
20
|
+
@waist = args[:waist]
|
21
|
+
@hip = args[:hip]
|
22
|
+
@handed = args[:handed]
|
23
|
+
@from = args[:from]
|
24
|
+
@favorite = args[:favorite]
|
25
|
+
@cv = args[:cv]
|
26
|
+
end
|
27
|
+
|
28
|
+
class UnknownIdolError < StandardError; end
|
29
|
+
|
30
|
+
class << self
|
31
|
+
def config
|
32
|
+
@config = Dir.glob("#{File.dirname(__FILE__)}/../../config/idols/*.yml").each_with_object({}) do |file, idols|
|
33
|
+
idols.merge!(YAML.load_file(file))
|
34
|
+
end.deep_symbolize_keys
|
35
|
+
end
|
36
|
+
|
37
|
+
def names
|
38
|
+
config.keys
|
39
|
+
end
|
40
|
+
|
41
|
+
def valid?(idol_name)
|
42
|
+
names.include?(idol_name)
|
43
|
+
end
|
44
|
+
|
45
|
+
def all
|
46
|
+
@all = config.map do |key, value|
|
47
|
+
value[:key] = key
|
48
|
+
new(**value)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def find_by_key(name)
|
53
|
+
raise UnknownIdolError unless valid?(name)
|
54
|
+
|
55
|
+
new(@config[name])
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Rubiderella
|
4
|
+
class Idol
|
5
|
+
class Birthday
|
6
|
+
attr_reader :month, :day
|
7
|
+
|
8
|
+
def initialize(args)
|
9
|
+
@month = args[:month]
|
10
|
+
@day = args[:day]
|
11
|
+
end
|
12
|
+
|
13
|
+
def date
|
14
|
+
@month.to_s + '月' + @day.to_s + '日'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Rubiderella
|
4
|
+
class Idol
|
5
|
+
class Name
|
6
|
+
attr_reader :last, :last_kana, :first, :first_kana
|
7
|
+
|
8
|
+
def initialize(args)
|
9
|
+
@last = args[:last]
|
10
|
+
@last_kana = args[:last_kana]
|
11
|
+
@first = args[:first]
|
12
|
+
@first_kana = args[:first_kana]
|
13
|
+
end
|
14
|
+
|
15
|
+
def full
|
16
|
+
@last + @first
|
17
|
+
end
|
18
|
+
|
19
|
+
def full_kana
|
20
|
+
@last_kana + @first_kana
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|