rubicure 2.1.5 → 3.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 +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
|
+

|
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)".
|