rubicure 2.1.5 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -2
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +24 -1
- data/Gemfile +0 -5
- data/README.md +21 -11
- data/config/girls/017_healingood.yml +4 -4
- data/config/girls/018_tropical_rouge.yml +52 -9
- data/config/girls/019_delicious_party.yml +104 -0
- data/config/series.yml +13 -1
- data/lib/rubicure/concerns/util.rb +8 -0
- data/lib/rubicure/girl.rb +12 -4
- data/lib/rubicure/movie.rb +3 -1
- data/lib/rubicure/series.rb +3 -1
- data/lib/rubicure/version.rb +1 -1
- data/rubicure.gemspec +4 -4
- data/spec/config/girls_checker_spec.rb +15 -1
- data/spec/config/series_checker_spec.rb +1 -1
- data/spec/rubicure/core_spec.rb +1 -1
- data/spec/rubicure/girl_spec.rb +51 -10
- data/spec/rubicure/series_spec.rb +1 -0
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3250322e7a94ee22cbd05cfde9c0948c4dfa42471ed4606b4abb900c700dca9a
|
4
|
+
data.tar.gz: f899f29dc91ab6b4e442e2d61431c66e35db8cb0a904dce80f5fc0a0e781e0d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '058852c8614f08b374b5b34ceef8205b444e9cf9fdbceaaa4acd3f66a0ed8ed8f263d0ec9b6a6d3f871be13994e8f287fea417123cfe81128cd57c22808a6994'
|
7
|
+
data.tar.gz: fa08d1ac2232596608510d5fd619c65798265146086f0464cae3c6b2a4f3da6f4fcfe481d8eab7b0d317c20413174c51dbc9d5d13480521b9ec64f9593f4b463
|
data/.github/workflows/test.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
## master
|
2
|
-
[full changelog](http://github.com/sue445/rubicure/compare/
|
2
|
+
[full changelog](http://github.com/sue445/rubicure/compare/v3.1.0...master)
|
3
|
+
|
4
|
+
## v3.1.0
|
5
|
+
[full changelog](http://github.com/sue445/rubicure/compare/v3.0.1...v3.1.0)
|
6
|
+
|
7
|
+
* Add DeliciousParty:heart:Precure
|
8
|
+
* https://github.com/sue445/rubicure/pull/261
|
9
|
+
|
10
|
+
## v3.0.1
|
11
|
+
[full changelog](http://github.com/sue445/rubicure/compare/v3.0.0...v3.0.1)
|
12
|
+
|
13
|
+
* Add `ended_date` of Tropical-Rouge! Precure
|
14
|
+
* https://github.com/sue445/rubicure/pull/260
|
15
|
+
* Fixed. Couldn't call `#precure_operation!` and `#precure_tropical_change!`
|
16
|
+
* https://github.com/sue445/rubicure/pull/264
|
17
|
+
* Randomized Tropical-Rouge! Precure's `#transform!` (a.k.a. `#precure_tropical_change!`) transformation message
|
18
|
+
* https://github.com/sue445/rubicure/pull/263
|
19
|
+
|
20
|
+
## v3.0.0
|
21
|
+
[full changelog](http://github.com/sue445/rubicure/compare/v2.1.5...v3.0.0)
|
22
|
+
|
23
|
+
### Breaking changes :bomb:
|
24
|
+
* Supports ruby 3.1+ and drop ruby < 2.6
|
25
|
+
* https://github.com/sue445/rubicure/pull/259
|
3
26
|
|
4
27
|
## v2.1.5
|
5
28
|
[full changelog](http://github.com/sue445/rubicure/compare/v2.1.4...v2.1.5)
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -118,7 +118,7 @@ and [more aliases!](config/series.yml)
|
|
118
118
|
|
119
119
|
```ruby
|
120
120
|
>> Precure.now
|
121
|
-
=> {:series_name=>"
|
121
|
+
=> {:series_name=>"delicious_party", :title=>"デリシャスパーティ♡プリキュア", :started_date=>#<Date: 2022-02-06 ((2459617j,0s,0n),+0s,2299161j)>, :girls=>["cure_precious", "cure_spicy", "cure_yumyum"]}
|
122
122
|
|
123
123
|
# -2013/1/27 : smile precure
|
124
124
|
# 2013/2/5 - : dokidoki precure
|
@@ -418,6 +418,15 @@ Go!プリンセスプリキュア!
|
|
418
418
|
プリキュア!ルビーパッショナーレ!
|
419
419
|
```
|
420
420
|
|
421
|
+
### When [Tropical-Rouge! Precure](https://en.wikipedia.org/wiki/Tropical-Rouge!_Pretty_Cure)
|
422
|
+
In Tropical Rouge Precure's `#transform!` (a.k.a. `#precure_tropical_change!`), the transformation message will be randomized as in the original work.
|
423
|
+
|
424
|
+
Example
|
425
|
+
|
426
|
+
![tropical_rouge](examples/tropical_rouge.gif)
|
427
|
+
|
428
|
+
[examples/tropical_rouge.rb](examples/tropical_rouge.rb)
|
429
|
+
|
421
430
|
### full_name
|
422
431
|
When `Rubicure::Girl` has `human_full_name` (i.e. another `human_name`), she returns as `#full_name`
|
423
432
|
|
@@ -607,19 +616,20 @@ Go!プリンセスプリキュア
|
|
607
616
|
スター☆トゥインクルプリキュア
|
608
617
|
ヒーリングっど♥プリキュア
|
609
618
|
トロピカル~ジュ!プリキュア
|
610
|
-
|
619
|
+
デリシャスパーティ♡プリキュア
|
620
|
+
=> [:unmarked, :max_heart, :splash_star, :yes, :yes_gogo, :fresh, :heart_catch, :suite, :smile, :dokidoki, :happiness_charge, :go_princess, :maho_girls, :a_la_mode, :hugtto, :star_twinkle, :healingood, :tropical_rouge, :delicious_party]
|
611
621
|
|
612
622
|
>> Precure.inject([]){|girl_count_of_series, series| girl_count_of_series << series.girls.count; girl_count_of_series }
|
613
|
-
=> [2, 3, 2, 5, 6, 4, 4, 4, 5, 5, 4, 4, 3, 6, 5, 5, 4, 5]
|
623
|
+
=> [2, 3, 2, 5, 6, 4, 4, 4, 5, 5, 4, 4, 3, 6, 5, 5, 4, 5, 3]
|
614
624
|
|
615
625
|
>> Precure.map(&:title)
|
616
|
-
=> ["ふたりはプリキュア", "ふたりはプリキュア Max Heart", "ふたりはプリキュア Splash☆Star", "Yes! プリキュア5", "Yes! プリキュア5 Go Go!", "フレッシュプリキュア!", "ハートキャッチプリキュア!", "スイートプリキュア♪", "スマイルプリキュア!", "ドキドキ!プリキュア", "ハピネスチャージプリキュア!", "Go!プリンセスプリキュア", "魔法つかいプリキュア!", "キラキラ☆プリキュアアラモード", "HUGっと!プリキュア", "スター☆トゥインクルプリキュア", "ヒーリングっど♥プリキュア", "トロピカル~ジュ!プリキュア"]
|
626
|
+
=> ["ふたりはプリキュア", "ふたりはプリキュア Max Heart", "ふたりはプリキュア Splash☆Star", "Yes! プリキュア5", "Yes! プリキュア5 Go Go!", "フレッシュプリキュア!", "ハートキャッチプリキュア!", "スイートプリキュア♪", "スマイルプリキュア!", "ドキドキ!プリキュア", "ハピネスチャージプリキュア!", "Go!プリンセスプリキュア", "魔法つかいプリキュア!", "キラキラ☆プリキュアアラモード", "HUGっと!プリキュア", "スター☆トゥインクルプリキュア", "ヒーリングっど♥プリキュア", "トロピカル~ジュ!プリキュア", "デリシャスパーティ♡プリキュア"]
|
617
627
|
|
618
628
|
>> Precure.happiness_charge.map(&:precure_name)
|
619
629
|
=> ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"]
|
620
630
|
|
621
631
|
>> Precure.map{|series| series.map(&:precure_name) }
|
622
|
-
=> [["キュアブラック", "キュアホワイト"], ["キュアブラック", "キュアホワイト", "シャイニールミナス"], ["キュアブルーム", "キュアイーグレット"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア", "ミルキィローズ"], ["キュアピーチ", "キュアベリー", "キュアパイン", "キュアパッション"], ["キュアブロッサム", "キュアマリン", "キュアサンシャイン", "キュアムーンライト"], ["キュアメロディ", "キュアリズム", "キュアビート", "キュアミューズ"], ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"], ["キュアハート", "キュアダイヤモンド", "キュアロゼッタ", "キュアソード", "キュアエース"], ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"], ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット"], ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ"], ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ"], ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール"], ["キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ"], ["キュアグレース", "キュアフォンテーヌ", "キュアスパークル", "キュアアース"], ["キュアサマー", "キュアコーラル", "キュアパパイア", "キュアフラミンゴ", "キュアラメール"]]
|
632
|
+
=> [["キュアブラック", "キュアホワイト"], ["キュアブラック", "キュアホワイト", "シャイニールミナス"], ["キュアブルーム", "キュアイーグレット"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア", "ミルキィローズ"], ["キュアピーチ", "キュアベリー", "キュアパイン", "キュアパッション"], ["キュアブロッサム", "キュアマリン", "キュアサンシャイン", "キュアムーンライト"], ["キュアメロディ", "キュアリズム", "キュアビート", "キュアミューズ"], ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"], ["キュアハート", "キュアダイヤモンド", "キュアロゼッタ", "キュアソード", "キュアエース"], ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"], ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット"], ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ"], ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ"], ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール"], ["キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ"], ["キュアグレース", "キュアフォンテーヌ", "キュアスパークル", "キュアアース"], ["キュアサマー", "キュアコーラル", "キュアパパイア", "キュアフラミンゴ", "キュアラメール"], ["キュアプレシャス", "キュアスパイシー", "キュアヤムヤム"]]
|
623
633
|
```
|
624
634
|
|
625
635
|
### Not operator
|
@@ -687,13 +697,13 @@ Cure.cosmo.name
|
|
687
697
|
=> [:black, :blue, :green, :pink, :purple, :rainbow, :red, :white, :yellow]
|
688
698
|
|
689
699
|
>> Precure.all_girls.select(&:pink?).map(&:precure_name)
|
690
|
-
=> ["キュアブルーム", "キュアドリーム", "キュアピーチ", "キュアブロッサム", "キュアメロディ", "キュアハッピー", "キュアハート", "キュアラブリー", "キュアフローラ", "キュアミラクル", "キュアホイップ", "キュアエール", "キュアスター", "キュアグレース"]
|
700
|
+
=> ["キュアブルーム", "キュアドリーム", "キュアピーチ", "キュアブロッサム", "キュアメロディ", "キュアハッピー", "キュアハート", "キュアラブリー", "キュアフローラ", "キュアミラクル", "キュアホイップ", "キュアエール", "キュアスター", "キュアグレース", "キュアプレシャス"]
|
691
701
|
|
692
702
|
>> Precure.all_girls.select(&:yellow?).map(&:precure_name)
|
693
|
-
=> ["シャイニールミナス", "キュアレモネード", "キュアパイン", "キュアサンシャイン", "キュアミューズ", "キュアピース", "キュアロゼッタ", "キュアハニー", "キュアトゥインクル", "キュアカスタード", "キュアエトワール", "キュアソレイユ", "キュアスパークル", "キュアパパイア"]
|
703
|
+
=> ["シャイニールミナス", "キュアレモネード", "キュアパイン", "キュアサンシャイン", "キュアミューズ", "キュアピース", "キュアロゼッタ", "キュアハニー", "キュアトゥインクル", "キュアカスタード", "キュアエトワール", "キュアソレイユ", "キュアスパークル", "キュアパパイア", "キュアヤムヤム"]
|
694
704
|
|
695
705
|
>> Precure.all_girls.group_by{ |girl| girl.color }.map{ |color, girls| [color, girls.count] }.sort_by{ |color, girl_count| [girl_count, color] }.reverse
|
696
|
-
=> [["yellow",
|
706
|
+
=> [["yellow", 15], ["pink", 15], ["blue", 13], ["purple", 10], ["red", 8], ["white", 5], ["green", 4], ["rainbow", 2], ["black", 1]]
|
697
707
|
```
|
698
708
|
|
699
709
|
### birthday methods
|
@@ -719,12 +729,12 @@ Cure.cosmo.name
|
|
719
729
|
=> true
|
720
730
|
|
721
731
|
>> Precure.all_girls.select(&:have_birthday?).map(&:human_name)
|
722
|
-
=> ["美墨なぎさ", "雪城ほのか", "九条ひかり", "日向咲", "美翔舞", "相田マナ", "菱川六花", "四葉ありす", "剣崎真琴", "春野はるか", "海藤みなみ", "天ノ川きらら", "紅城トワ", "朝日奈みらい", "十六夜リコ", "宇佐美いちか", "有栖川ひまり", "立神あおい", "琴爪ゆかり", "剣城あきら", "キラ星シエル", "野乃はな", "薬師寺さあや", "輝木ほまれ", "愛崎えみる", "ルールー・アムール", "星奈ひかる", "羽衣ララ", "天宮えれな", "香久矢まどか", "ユニ", "花寺のどか", "沢泉ちゆ", "平光ひなた", "風鈴アスミ", "夏海まなつ", "涼村さんご", "一ノ瀬みのり", "滝沢あすか", "ローラ・ラメール"]
|
732
|
+
=> ["美墨なぎさ", "雪城ほのか", "九条ひかり", "日向咲", "美翔舞", "相田マナ", "菱川六花", "四葉ありす", "剣崎真琴", "春野はるか", "海藤みなみ", "天ノ川きらら", "紅城トワ", "朝日奈みらい", "十六夜リコ", "宇佐美いちか", "有栖川ひまり", "立神あおい", "琴爪ゆかり", "剣城あきら", "キラ星シエル", "野乃はな", "薬師寺さあや", "輝木ほまれ", "愛崎えみる", "ルールー・アムール", "星奈ひかる", "羽衣ララ", "天宮えれな", "香久矢まどか", "ユニ", "花寺のどか", "沢泉ちゆ", "平光ひなた", "風鈴アスミ", "夏海まなつ", "涼村さんご", "一ノ瀬みのり", "滝沢あすか", "ローラ・ラメール", "和実ゆい", "芙羽ここね", "華満らん"]
|
723
733
|
>> Precure.all_girls.select(&:have_birthday?).sort_by { |girl| Date.parse(girl.birthday) }.map{ |girl| [girl.birthday, girl.human_name] }
|
724
|
-
=> [["1/7", "宇佐美いちか"], ["1/20", "野乃はな"], ["3/9", "花寺のどか"], ["4/4", "雪城ほのか"], ["4/8", "輝木ほまれ"], ["4/10", "春野はるか"], ["4/12", "星奈ひかる"], ["4/16", "有栖川ひまり"], ["5/9", "涼村さんご"], ["5/28", "四葉ありす"], ["6/10", "薬師寺さあや"], ["6/11", "琴爪ゆかり"], ["6/12", "朝日奈みらい"], ["6/30", "ローラ・ラメール"], ["7/7", "羽衣ララ"], ["7/15", "愛崎えみる"], ["7/20", "海藤みなみ"], ["7/30", "キラ星シエル"], ["8/1", "夏海まなつ"], ["8/4", "相田マナ"], ["8/7", "日向咲"], ["8/16", "風鈴アスミ"], ["8/21", "沢泉ちゆ"], ["8/27", "立神あおい"], ["9/8", "天宮えれな"], ["9/9", "九条ひかり"], ["9/12", "天ノ川きらら"], ["9/17", "菱川六花"], ["9/23", "ルールー・アムール"], ["9/24", "剣城あきら"], ["10/4", "平光ひなた"], ["10/10", "美墨なぎさ"], ["10/11", "ユニ"], ["10/15", "滝沢あすか"], ["11/4", "剣崎真琴"], ["11/12", "十六夜リコ"], ["11/20", "美翔舞"], ["11/21", "一ノ瀬みのり"], ["11/23", "香久矢まどか"], ["12/15", "紅城トワ"]]
|
734
|
+
=> [["1/7", "宇佐美いちか"], ["1/20", "野乃はな"], ["3/9", "花寺のどか"], ["3/13", "芙羽ここね"], ["4/4", "雪城ほのか"], ["4/8", "輝木ほまれ"], ["4/10", "春野はるか"], ["4/12", "星奈ひかる"], ["4/16", "有栖川ひまり"], ["5/9", "涼村さんご"], ["5/28", "四葉ありす"], ["6/10", "薬師寺さあや"], ["6/11", "琴爪ゆかり"], ["6/12", "朝日奈みらい"], ["6/30", "ローラ・ラメール"], ["7/7", "羽衣ララ"], ["7/11", "華満らん"], ["7/15", "愛崎えみる"], ["7/20", "海藤みなみ"], ["7/30", "キラ星シエル"], ["8/1", "夏海まなつ"], ["8/4", "相田マナ"], ["8/7", "日向咲"], ["8/16", "風鈴アスミ"], ["8/21", "沢泉ちゆ"], ["8/27", "立神あおい"], ["8/31", "和実ゆい"], ["9/8", "天宮えれな"], ["9/9", "九条ひかり"], ["9/12", "天ノ川きらら"], ["9/17", "菱川六花"], ["9/23", "ルールー・アムール"], ["9/24", "剣城あきら"], ["10/4", "平光ひなた"], ["10/10", "美墨なぎさ"], ["10/11", "ユニ"], ["10/15", "滝沢あすか"], ["11/4", "剣崎真琴"], ["11/12", "十六夜リコ"], ["11/20", "美翔舞"], ["11/21", "一ノ瀬みのり"], ["11/23", "香久矢まどか"], ["12/15", "紅城トワ"]]
|
725
735
|
|
726
736
|
>> Precure.all_girls.select(&:have_birthday?).map(&:human_name).count
|
727
|
-
=>
|
737
|
+
=> 43
|
728
738
|
```
|
729
739
|
|
730
740
|
* `has_birthday?` is alias to `have_birthday?`
|
@@ -25,7 +25,7 @@ cure_grace: &cure_grace
|
|
25
25
|
プリキュア!ヒーリングフラワー!
|
26
26
|
お大事に
|
27
27
|
transform_calls:
|
28
|
-
-
|
28
|
+
- operation
|
29
29
|
grace:
|
30
30
|
<<: *cure_grace
|
31
31
|
|
@@ -56,7 +56,7 @@ cure_fontaine: &cure_fontaine
|
|
56
56
|
プリキュア!ヒーリングストリーム!
|
57
57
|
お大事に
|
58
58
|
transform_calls:
|
59
|
-
-
|
59
|
+
- operation
|
60
60
|
fontaine:
|
61
61
|
<<: *cure_fontaine
|
62
62
|
|
@@ -87,7 +87,7 @@ cure_sparkle: &cure_sparkle
|
|
87
87
|
プリキュア!ヒーリングフラッシュ!
|
88
88
|
お大事に
|
89
89
|
transform_calls:
|
90
|
-
-
|
90
|
+
- operation
|
91
91
|
sparkle:
|
92
92
|
<<: *cure_sparkle
|
93
93
|
|
@@ -118,6 +118,6 @@ cure_earth: &cure_earth
|
|
118
118
|
プリキュア・ヒーリングハリケーン!
|
119
119
|
お大事に
|
120
120
|
transform_calls:
|
121
|
-
-
|
121
|
+
- operation
|
122
122
|
earth:
|
123
123
|
<<: *cure_earth
|
@@ -16,7 +16,40 @@ cure_summer: &cure_summer
|
|
16
16
|
ドレス!
|
17
17
|
ときめく常夏!キュアサマー!
|
18
18
|
はぁー!
|
19
|
-
|
19
|
+
${random_transform_word}
|
20
|
+
トロピカル~ジュ!プリキュア!
|
21
|
+
random_transform_words: &random_transform_words
|
22
|
+
- 4人揃って!
|
23
|
+
- 今日も元気だ!
|
24
|
+
- よく食べよく寝る!
|
25
|
+
- エキストラだよ!
|
26
|
+
- 笑顔は100点!
|
27
|
+
- 雨にも負けない!
|
28
|
+
- 噂も吹き飛ぶ!
|
29
|
+
- 悩みも吹き飛ぶ!
|
30
|
+
- よいこの友達!
|
31
|
+
- 今日も元気だ!
|
32
|
+
- 5人揃って!
|
33
|
+
- 年中無休だ!
|
34
|
+
- 一人迷子だ!
|
35
|
+
- お祭り大好き!
|
36
|
+
- 転んで泣かない!
|
37
|
+
- いいとこ見せたい!
|
38
|
+
- 光る5つ星!
|
39
|
+
- 今日も元気だ!
|
40
|
+
- メイクは気合だ!
|
41
|
+
- 6人揃って!
|
42
|
+
- 雪の国でも!
|
43
|
+
- 子どももなれるよ!
|
44
|
+
- 今日も元気だ!
|
45
|
+
- 仮装じゃないよ!
|
46
|
+
- 今日も元気だ!
|
47
|
+
- 今日も本気だ!
|
48
|
+
- 燃えるど根性!
|
49
|
+
- 今日も元気だ!
|
50
|
+
- 全速前進!
|
51
|
+
- 絶対負けない!
|
52
|
+
- あっという間に!
|
20
53
|
# extra_names:
|
21
54
|
attack_messages:
|
22
55
|
- |-
|
@@ -24,7 +57,7 @@ cure_summer: &cure_summer
|
|
24
57
|
プリキュア!おてんとサマーストライク!
|
25
58
|
ビクトリー!
|
26
59
|
transform_calls:
|
27
|
-
-
|
60
|
+
- tropical_change
|
28
61
|
summer:
|
29
62
|
<<: *cure_summer
|
30
63
|
|
@@ -46,7 +79,9 @@ cure_coral: &cure_coral
|
|
46
79
|
ドレス!
|
47
80
|
きらめく宝石!キュアコーラル!
|
48
81
|
はぁー!
|
49
|
-
|
82
|
+
${random_transform_word}
|
83
|
+
トロピカル~ジュ!プリキュア!
|
84
|
+
random_transform_words: *random_transform_words
|
50
85
|
# extra_names:
|
51
86
|
attack_messages:
|
52
87
|
- |-
|
@@ -54,7 +89,7 @@ cure_coral: &cure_coral
|
|
54
89
|
プリキュア!もこもこコーラルディフュージョン!
|
55
90
|
ビクトリー!
|
56
91
|
transform_calls:
|
57
|
-
-
|
92
|
+
- tropical_change
|
58
93
|
coral:
|
59
94
|
<<: *cure_coral
|
60
95
|
|
@@ -76,7 +111,9 @@ cure_papaya: &cure_papaya
|
|
76
111
|
ドレス!
|
77
112
|
ひらめく果実!キュアパパイア!
|
78
113
|
はぁー!
|
79
|
-
|
114
|
+
${random_transform_word}
|
115
|
+
トロピカル~ジュ!プリキュア!
|
116
|
+
random_transform_words: *random_transform_words
|
80
117
|
# extra_names:
|
81
118
|
attack_messages:
|
82
119
|
- |-
|
@@ -84,7 +121,7 @@ cure_papaya: &cure_papaya
|
|
84
121
|
プリキュア!ぱんぱかパパイアショット!
|
85
122
|
ビクトリー!
|
86
123
|
transform_calls:
|
87
|
-
-
|
124
|
+
- tropical_change
|
88
125
|
papaya:
|
89
126
|
<<: *cure_papaya
|
90
127
|
|
@@ -106,7 +143,9 @@ cure_flamingo: &cure_flamingo
|
|
106
143
|
ドレス!
|
107
144
|
はためく翼!キュアフラミンゴ!
|
108
145
|
はぁー!
|
109
|
-
|
146
|
+
${random_transform_word}
|
147
|
+
トロピカル~ジュ!プリキュア!
|
148
|
+
random_transform_words: *random_transform_words
|
110
149
|
# extra_names:
|
111
150
|
attack_messages:
|
112
151
|
- |-
|
@@ -114,7 +153,7 @@ cure_flamingo: &cure_flamingo
|
|
114
153
|
プリキュア!ぶっとびフラミンゴスマッシュ!
|
115
154
|
ビクトリー!
|
116
155
|
transform_calls:
|
117
|
-
-
|
156
|
+
- tropical_change
|
118
157
|
flamingo:
|
119
158
|
<<: *cure_flamingo
|
120
159
|
|
@@ -134,12 +173,16 @@ cure_lamer: &cure_lamer
|
|
134
173
|
ネイル!
|
135
174
|
ドレス!
|
136
175
|
ゆらめく大海原!キュアラメール!
|
176
|
+
はぁー!
|
177
|
+
${random_transform_word}
|
178
|
+
トロピカル~ジュ!プリキュア!
|
179
|
+
random_transform_words: *random_transform_words
|
137
180
|
# extra_names:
|
138
181
|
attack_messages:
|
139
182
|
- |-
|
140
183
|
プリキュア!くるくるラメールストリーム!
|
141
184
|
ビクトリー!
|
142
185
|
transform_calls:
|
143
|
-
-
|
186
|
+
- tropical_change
|
144
187
|
lamer:
|
145
188
|
<<: *cure_lamer
|
@@ -0,0 +1,104 @@
|
|
1
|
+
cure_precious: &cure_precious
|
2
|
+
girl_name: cure_precious
|
3
|
+
human_name: 和実ゆい
|
4
|
+
precure_name: キュアプレシャス
|
5
|
+
cast_name: 菱川花菜
|
6
|
+
color: pink
|
7
|
+
created_date: 2022-02-06 # episode 1
|
8
|
+
birthday: 8/31
|
9
|
+
transform_message: |-
|
10
|
+
コメー!
|
11
|
+
プリキュア!デリシャスタンバイ!
|
12
|
+
Party Go!
|
13
|
+
ニギニギ!
|
14
|
+
コメコメ!
|
15
|
+
ハートを!
|
16
|
+
コメコメ!
|
17
|
+
シェアリングエナジー!
|
18
|
+
コメー!
|
19
|
+
コメコメ)
|
20
|
+
あつあつごはんで、みなぎるパワー!
|
21
|
+
キュアプレシャス!
|
22
|
+
おいしい笑顔で満たしてあげる!
|
23
|
+
# extra_names:
|
24
|
+
attack_messages:
|
25
|
+
- |-
|
26
|
+
プリキュア!プレシャストライアングル!
|
27
|
+
はー!
|
28
|
+
はー!
|
29
|
+
お腹いっぱい
|
30
|
+
ごちそうさまでした!
|
31
|
+
transform_calls:
|
32
|
+
- delicioustandby
|
33
|
+
precious:
|
34
|
+
<<: *cure_precious
|
35
|
+
|
36
|
+
cure_spicy: &cure_spicy
|
37
|
+
girl_name: cure_spicy
|
38
|
+
human_name: 芙羽ここね
|
39
|
+
precure_name: キュアスパイシー
|
40
|
+
cast_name: 清水理沙
|
41
|
+
color: blue
|
42
|
+
created_date: 2022-02-27 # episode 4
|
43
|
+
birthday: 3/13
|
44
|
+
transform_message: |-
|
45
|
+
パム!
|
46
|
+
プリキュア!デリシャスタンバイ!
|
47
|
+
Party Go!
|
48
|
+
オープン
|
49
|
+
パム!
|
50
|
+
サンド!
|
51
|
+
パムパム!
|
52
|
+
シェアリングエナジー!
|
53
|
+
テイスティー!
|
54
|
+
パムパム!
|
55
|
+
ふわふわサンドde心にスパイス!
|
56
|
+
キュアスパイシー!
|
57
|
+
わけあうおいしさ、焼きつけるわ!
|
58
|
+
# extra_names:
|
59
|
+
attack_messages:
|
60
|
+
- |-
|
61
|
+
プリキュア!スパイシーサークル!
|
62
|
+
はー!
|
63
|
+
はー!
|
64
|
+
お腹いっぱい
|
65
|
+
ごちそうさまでした!
|
66
|
+
transform_calls:
|
67
|
+
- delicioustandby
|
68
|
+
spicy:
|
69
|
+
<<: *cure_spicy
|
70
|
+
|
71
|
+
cure_yumyum: &cure_yumyum
|
72
|
+
girl_name: cure_yumyum
|
73
|
+
human_name: 華満らん
|
74
|
+
precure_name: キュアヤムヤム
|
75
|
+
cast_name: 井口裕香
|
76
|
+
color: yellow
|
77
|
+
created_date: 2022-04-24 # episode 7
|
78
|
+
birthday: 7/11
|
79
|
+
transform_message: |-
|
80
|
+
メン!
|
81
|
+
プリキュア!デリシャスタンバイ!
|
82
|
+
Party Go!
|
83
|
+
クルクル!
|
84
|
+
メンメン!
|
85
|
+
ミラクル!
|
86
|
+
メンメン!
|
87
|
+
シェアリングエナジー!
|
88
|
+
ワンタン!
|
89
|
+
メンメン!
|
90
|
+
きらめくヌードル・エモーション!
|
91
|
+
キュアヤムヤム!
|
92
|
+
おいしいの独り占め、ゆるさないよ!
|
93
|
+
# extra_names:
|
94
|
+
attack_messages:
|
95
|
+
- |-
|
96
|
+
プリキュア!ヤムヤムラインズ!
|
97
|
+
はー!
|
98
|
+
はー!
|
99
|
+
お腹いっぱい
|
100
|
+
ごちそうさまでした!
|
101
|
+
transform_calls:
|
102
|
+
- delicioustandby
|
103
|
+
yumyum:
|
104
|
+
<<: *cure_yumyum
|
data/config/series.yml
CHANGED
@@ -235,7 +235,7 @@ tropical_rouge: &tropical_rouge
|
|
235
235
|
series_name: tropical_rouge
|
236
236
|
title: トロピカル~ジュ!プリキュア
|
237
237
|
started_date: 2021-02-28
|
238
|
-
|
238
|
+
ended_date: 2022-01-30
|
239
239
|
girls:
|
240
240
|
- cure_summer
|
241
241
|
- cure_coral
|
@@ -244,3 +244,15 @@ tropical_rouge: &tropical_rouge
|
|
244
244
|
- cure_lamer
|
245
245
|
tropical_rouge_precure:
|
246
246
|
<<: *tropical_rouge
|
247
|
+
#######################################################
|
248
|
+
delicious_party: &delicious_party
|
249
|
+
series_name: delicious_party
|
250
|
+
title: デリシャスパーティ♡プリキュア
|
251
|
+
started_date: 2022-02-06
|
252
|
+
# ended_date: 2023-01-
|
253
|
+
girls:
|
254
|
+
- cure_precious
|
255
|
+
- cure_spicy
|
256
|
+
- cure_yumyum
|
257
|
+
delicious_party_precure:
|
258
|
+
<<: *delicious_party
|
@@ -22,6 +22,14 @@ module Rubicure
|
|
22
22
|
nil
|
23
23
|
end
|
24
24
|
end
|
25
|
+
|
26
|
+
module_function
|
27
|
+
|
28
|
+
# @param yaml_file [String]
|
29
|
+
# @return [Hash]
|
30
|
+
def load_yaml_file(yaml_file)
|
31
|
+
YAML.safe_load(File.read(yaml_file), permitted_classes: [Date], aliases: true)
|
32
|
+
end
|
25
33
|
end
|
26
34
|
end
|
27
35
|
end
|
data/lib/rubicure/girl.rb
CHANGED
@@ -22,6 +22,7 @@ module Rubicure
|
|
22
22
|
:extra_names,
|
23
23
|
:attack_messages,
|
24
24
|
:transform_calls,
|
25
|
+
:random_transform_words,
|
25
26
|
].freeze
|
26
27
|
|
27
28
|
attr_accessor :io
|
@@ -80,7 +81,15 @@ module Rubicure
|
|
80
81
|
end
|
81
82
|
|
82
83
|
state = inc_current_state
|
83
|
-
|
84
|
+
|
85
|
+
message =
|
86
|
+
if random_transform_words && !random_transform_words.empty?
|
87
|
+
random_transform_word = random_transform_words.sample
|
88
|
+
transform_message.gsub("${random_transform_word}", random_transform_word)
|
89
|
+
else
|
90
|
+
transform_message
|
91
|
+
end
|
92
|
+
print_by_line message if state == 1
|
84
93
|
|
85
94
|
self
|
86
95
|
end
|
@@ -215,7 +224,7 @@ module Rubicure
|
|
215
224
|
# @return [Hash] content of config/girls/*.yml
|
216
225
|
def config
|
217
226
|
unless @config
|
218
|
-
@config = SengiriYaml.load_dir("#{File.dirname(__FILE__)}/../../config/girls").deep_symbolize_keys
|
227
|
+
@config = SengiriYaml.load_dir("#{File.dirname(__FILE__)}/../../config/girls", permitted_classes: [Date], aliases: true).deep_symbolize_keys
|
219
228
|
end
|
220
229
|
@config
|
221
230
|
end
|
@@ -293,8 +302,7 @@ module Rubicure
|
|
293
302
|
return false unless has_key?(:transform_calls)
|
294
303
|
|
295
304
|
shortened_name = method_name.to_s.
|
296
|
-
sub(/\Aprecure_|_precure\z/, "").
|
297
|
-
sub(/!\z/, "")
|
305
|
+
sub(/\Aprecure_|_precure\z/, "").delete_suffix("!")
|
298
306
|
|
299
307
|
transform_calls.include?(shortened_name)
|
300
308
|
end
|
data/lib/rubicure/movie.rb
CHANGED
@@ -6,6 +6,8 @@ module Rubicure
|
|
6
6
|
include Hashie::Extensions::MethodAccess
|
7
7
|
|
8
8
|
class << self
|
9
|
+
include Rubicure::Concerns::Util
|
10
|
+
|
9
11
|
# @return [Array<Symbol>]
|
10
12
|
def names
|
11
13
|
config.keys
|
@@ -24,7 +26,7 @@ module Rubicure
|
|
24
26
|
def config
|
25
27
|
unless @config
|
26
28
|
config_file = "#{File.dirname(__FILE__)}/../../config/movies.yml"
|
27
|
-
@config =
|
29
|
+
@config = load_yaml_file(config_file).deep_symbolize_keys
|
28
30
|
end
|
29
31
|
@config
|
30
32
|
end
|
data/lib/rubicure/series.rb
CHANGED
@@ -87,6 +87,8 @@ module Rubicure
|
|
87
87
|
end
|
88
88
|
|
89
89
|
class << self
|
90
|
+
include Rubicure::Concerns::Util
|
91
|
+
|
90
92
|
# @return [Array<Symbol>]
|
91
93
|
def names
|
92
94
|
config.keys
|
@@ -105,7 +107,7 @@ module Rubicure
|
|
105
107
|
def config
|
106
108
|
unless @config
|
107
109
|
config_file = "#{File.dirname(__FILE__)}/../../config/series.yml"
|
108
|
-
@config =
|
110
|
+
@config = load_yaml_file(config_file).deep_symbolize_keys
|
109
111
|
end
|
110
112
|
@config
|
111
113
|
end
|
data/lib/rubicure/version.rb
CHANGED
data/rubicure.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.homepage = "https://github.com/sue445/rubicure"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
|
-
spec.required_ruby_version = ">= 2.
|
15
|
+
spec.required_ruby_version = ">= 2.6"
|
16
16
|
|
17
17
|
if spec.respond_to?(:metadata)
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.metadata["rubygems_mfa_required"] = "true"
|
22
22
|
else
|
23
23
|
raise "RubyGems 2.0 or newer is required to protect against " \
|
24
|
-
|
24
|
+
"public gem pushes."
|
25
25
|
end
|
26
26
|
|
27
27
|
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
|
37
37
|
spec.add_dependency "activesupport", ">= 5.0.0"
|
38
38
|
spec.add_dependency "hashie", ">= 2.0.5"
|
39
|
-
spec.add_dependency "sengiri_yaml", ">= 0.0
|
39
|
+
spec.add_dependency "sengiri_yaml", ">= 1.0.0"
|
40
40
|
|
41
41
|
spec.add_development_dependency "bundler", ">= 1.3.5"
|
42
42
|
spec.add_development_dependency "coveralls"
|
@@ -47,7 +47,7 @@ Gem::Specification.new do |spec|
|
|
47
47
|
spec.add_development_dependency "rspec-collection_matchers"
|
48
48
|
spec.add_development_dependency "rspec-its"
|
49
49
|
spec.add_development_dependency "rspec-parameterized", ">= 0.3.2"
|
50
|
-
spec.add_development_dependency "rubocop", "1.
|
50
|
+
spec.add_development_dependency "rubocop", "1.24.0"
|
51
51
|
spec.add_development_dependency "rubocop_auto_corrector"
|
52
52
|
spec.add_development_dependency "rubocop-performance", "1.9.2"
|
53
53
|
spec.add_development_dependency "rubocop-rake", "0.5.1"
|
@@ -3,7 +3,7 @@ describe "girls_checker" do # rubocop:disable RSpec/DescribeClass
|
|
3
3
|
|
4
4
|
config_files.each do |config_file|
|
5
5
|
describe "config/girls/#{config_file.basename}" do
|
6
|
-
girls =
|
6
|
+
girls = Rubicure::Concerns::Util.load_yaml_file(config_file)
|
7
7
|
|
8
8
|
girls.each do |girl_name, girl|
|
9
9
|
describe girl_name do
|
@@ -36,6 +36,20 @@ describe "girls_checker" do # rubocop:disable RSpec/DescribeClass
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
transform_calls = Array(girl["transform_calls"])
|
41
|
+
|
42
|
+
describe "#transform_calls", unless: transform_calls.empty? do
|
43
|
+
subject { transform_calls }
|
44
|
+
|
45
|
+
transform_calls.count.times do |n|
|
46
|
+
# rubocop:disable RSpec/RepeatedDescription `expect().not_to all( matcher )` is not supported.
|
47
|
+
its([n]) { should_not be_start_with "precure_" }
|
48
|
+
its([n]) { should_not be_end_with "_precure" }
|
49
|
+
its([n]) { should_not be_end_with "!" }
|
50
|
+
# rubocop:enable RSpec/RepeatedDescription
|
51
|
+
end
|
52
|
+
end
|
39
53
|
end
|
40
54
|
end
|
41
55
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
describe "config/series.yml" do # rubocop:disable RSpec/DescribeClass
|
2
|
-
series =
|
2
|
+
series = Rubicure::Concerns::Util.load_yaml_file("#{spec_dir}/../config/series.yml")
|
3
3
|
|
4
4
|
series.values.uniq {|attributes| attributes["series_name"] }.each do |attributes|
|
5
5
|
context attributes["title"] do
|
data/spec/rubicure/core_spec.rb
CHANGED
data/spec/rubicure/girl_spec.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
describe Rubicure::Girl do
|
2
2
|
let(:girl) do
|
3
3
|
girl = Rubicure::Girl[
|
4
|
-
girl_name:
|
5
|
-
human_name:
|
6
|
-
precure_name:
|
7
|
-
cast_name:
|
8
|
-
created_date:
|
9
|
-
extra_names:
|
10
|
-
transform_message:
|
11
|
-
attack_messages:
|
12
|
-
transform_calls:
|
13
|
-
color:
|
4
|
+
girl_name: girl_name,
|
5
|
+
human_name: human_name,
|
6
|
+
precure_name: precure_name,
|
7
|
+
cast_name: cast_name,
|
8
|
+
created_date: created_date,
|
9
|
+
extra_names: extra_names,
|
10
|
+
transform_message: transform_message,
|
11
|
+
attack_messages: attack_messages,
|
12
|
+
transform_calls: transform_calls,
|
13
|
+
color: color,
|
14
|
+
random_transform_words: random_transform_words,
|
14
15
|
]
|
15
16
|
girl.io = mock_io
|
16
17
|
girl
|
@@ -38,6 +39,7 @@ describe Rubicure::Girl do
|
|
38
39
|
]
|
39
40
|
end
|
40
41
|
let(:transform_calls) { %w[smile_charge] }
|
42
|
+
let(:random_transform_words) { nil }
|
41
43
|
|
42
44
|
describe "#name" do
|
43
45
|
context "when before transform" do
|
@@ -143,6 +145,45 @@ describe Rubicure::Girl do
|
|
143
145
|
it { expect(girl.state_names).to eq ["朝日奈みらい", "キュアミラクル(ダイヤスタイル)"] }
|
144
146
|
end
|
145
147
|
end
|
148
|
+
|
149
|
+
context "when Cure summer" do
|
150
|
+
let(:girl_name) { "cure_summer" }
|
151
|
+
let(:human_name) { "夏海まなつ" }
|
152
|
+
let(:precure_name) { "キュアサマー" }
|
153
|
+
let(:cast_name) { "ファイルーズあい" }
|
154
|
+
let(:created_date) { date("2021-02-28") }
|
155
|
+
let(:transform_calls) { %w[precure_tropical_change] }
|
156
|
+
let(:color) { "white" }
|
157
|
+
|
158
|
+
let(:transform_message) do
|
159
|
+
<<~MSG
|
160
|
+
プリキュア!トロピカルチェンジ!
|
161
|
+
レッツメイク!キャッチ!
|
162
|
+
チーク!
|
163
|
+
アイズ!
|
164
|
+
ヘアー!
|
165
|
+
リップ!
|
166
|
+
ドレス!
|
167
|
+
ときめく常夏!キュアサマー!
|
168
|
+
はぁー!
|
169
|
+
${random_transform_word}
|
170
|
+
トロピカル~ジュ!プリキュア!
|
171
|
+
MSG
|
172
|
+
end
|
173
|
+
|
174
|
+
let(:random_transform_words) do
|
175
|
+
%w[
|
176
|
+
4人揃って!
|
177
|
+
今日も元気だ!
|
178
|
+
]
|
179
|
+
end
|
180
|
+
|
181
|
+
it "stdout includes one of random_transform_words" do
|
182
|
+
girl.transform!
|
183
|
+
|
184
|
+
expect(mock_io.string).to include("4人揃って!").or include("今日も元気だ!")
|
185
|
+
end
|
186
|
+
end
|
146
187
|
end
|
147
188
|
|
148
189
|
describe "#==" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubicure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.0
|
47
|
+
version: 1.0.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.0
|
54
|
+
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - '='
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 1.
|
187
|
+
version: 1.24.0
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - '='
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 1.
|
194
|
+
version: 1.24.0
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: rubocop_auto_corrector
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -340,6 +340,7 @@ files:
|
|
340
340
|
- config/girls/016_star_twinkle.yml
|
341
341
|
- config/girls/017_healingood.yml
|
342
342
|
- config/girls/018_tropical_rouge.yml
|
343
|
+
- config/girls/019_delicious_party.yml
|
343
344
|
- config/girls/movie.yml
|
344
345
|
- config/movies.yml
|
345
346
|
- config/series.yml
|
@@ -391,14 +392,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
391
392
|
requirements:
|
392
393
|
- - ">="
|
393
394
|
- !ruby/object:Gem::Version
|
394
|
-
version: '2.
|
395
|
+
version: '2.6'
|
395
396
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
396
397
|
requirements:
|
397
398
|
- - ">="
|
398
399
|
- !ruby/object:Gem::Version
|
399
400
|
version: '0'
|
400
401
|
requirements: []
|
401
|
-
rubygems_version: 3.
|
402
|
+
rubygems_version: 3.3.7
|
402
403
|
signing_key:
|
403
404
|
specification_version: 4
|
404
405
|
summary: All about Japanese battle heroine "Pretty Cure (Precure)".
|