rubicure 1.3.3 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e647ac9be0d89bf9fe1671f66e07ab6b6b1431288f4d4a3c2aa8e34a8b5725c
4
- data.tar.gz: c4249dffec601ec72c137597188011e3fc86ab6bb5484edd2ae46b2297eecfde
3
+ metadata.gz: c414dd713717e9d410647fe64c606f3330fd358a66e20f97450710de6638aba5
4
+ data.tar.gz: 4ea2087925b4af906c5d8f7c5ba442e1e765e8b2938def2280646aa33ab27fcf
5
5
  SHA512:
6
- metadata.gz: 9b0bf19313053161eb5e918d4de3904f51e83907faece99008f8ead317e568627d1ac1021542c658f7e9006b6248f7fe8d66ff17ce1981da6ba00308f2e2d182
7
- data.tar.gz: cb461e18ee5e750d980809ed5cf62613ac2fb59090f62d8bdf9f0496dabb19dda438cee06aa2de253cbec1bcc63c0155516641e0616ab3f58ebefcc5cbc71c2c
6
+ metadata.gz: eee8edf76e5a686a3f74620dd5666d90008856dfe5f6bcb8400b424be78d01fc2e17df14edf06676655908d7490a1b3c7734b4251bd8b2f1489bea7b61308918
7
+ data.tar.gz: b6d4763dffbba6ba12610cb3ad66459626a21a08a987b948a55224c27394431429400f24612adda026aa33c15641e90fd96d0b104827d188a95768a84272e491
@@ -27,12 +27,11 @@ jobs:
27
27
 
28
28
  matrix:
29
29
  ruby:
30
- - ruby:2.2
31
- - ruby:2.3
32
30
  - ruby:2.4
33
31
  - ruby:2.5
34
32
  - ruby:2.6
35
33
  - ruby:2.7
34
+ - ruby:3.0
36
35
  - rubylang/ruby:master-nightly-bionic
37
36
  include:
38
37
  - ruby: rubylang/ruby:master-nightly-bionic
@@ -63,7 +62,6 @@ jobs:
63
62
  with:
64
63
  codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
65
64
  command: before-build
66
- if: matrix.ruby >= 'ruby:2.4'
67
65
  continue-on-error: true
68
66
 
69
67
  - run: bundle exec rspec
@@ -79,7 +77,7 @@ jobs:
79
77
  with:
80
78
  codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
81
79
  command: after-build
82
- if: matrix.ruby >= 'ruby:2.4' && always()
80
+ if: always()
83
81
  continue-on-error: true
84
82
 
85
83
  - run: bundle exec rubocop
@@ -91,7 +89,7 @@ jobs:
91
89
  continue-on-error: ${{ matrix.allow_failures == 'true' }}
92
90
 
93
91
  - name: Slack Notification (not success)
94
- uses: homoluctus/slatify@master
92
+ uses: lazy-actions/slatify@master
95
93
  if: "! success()"
96
94
  continue-on-error: true
97
95
  with:
@@ -109,7 +107,7 @@ jobs:
109
107
 
110
108
  steps:
111
109
  - name: Slack Notification (success)
112
- uses: homoluctus/slatify@master
110
+ uses: lazy-actions/slatify@master
113
111
  if: always()
114
112
  continue-on-error: true
115
113
  with:
data/.rubocop.yml CHANGED
@@ -1,17 +1,26 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rake
4
+
1
5
  inherit_gem:
2
6
  onkcop:
3
7
  - "config/rubocop.yml"
4
8
  - "config/rspec.yml"
9
+ - "config/performance.yml"
5
10
 
6
11
  AllCops:
7
- TargetRubyVersion: 2.2
12
+ TargetRubyVersion: 2.4
13
+ NewCops: enable
8
14
 
9
- RSpec/NestedGroups:
15
+ Layout/HashAlignment:
16
+ EnforcedHashRocketStyle: table
17
+ EnforcedColonStyle: table
18
+
19
+ RSpec/MultipleMemoizedHelpers:
10
20
  Enabled: false
11
21
 
12
- RSpec/SharedExamples:
22
+ RSpec/NestedGroups:
13
23
  Enabled: false
14
24
 
15
- # TODO: Remove when drop support ruby 2.2
16
- Layout/IndentHeredoc:
25
+ RSpec/SharedExamples:
17
26
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  ## master
2
- [full changelog](http://github.com/sue445/rubicure/compare/v1.3.3...master)
2
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.1.0...master)
3
+
4
+ ## v2.1.0
5
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.0.1...v2.1.0)
6
+
7
+ * Add Tropical-Rouge! Precure :ocean:
8
+ * https://github.com/sue445/rubicure/pull/246
9
+
10
+ ## v2.0.1
11
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.0.0...v2.0.1)
12
+
13
+ * Add ended_date of Healingood precure
14
+ * https://github.com/sue445/rubicure/pull/252
15
+
16
+ ## v2.0.0
17
+ [full changelog](http://github.com/sue445/rubicure/compare/v1.3.5...v2.0.0)
18
+
19
+ ### Breaking changes :bomb:
20
+ * Drop support for ruby 2.2 and 2.3
21
+ * https://github.com/sue445/rubicure/pull/249
22
+
23
+ ### Others
24
+ * update rubocop gems
25
+ * https://github.com/sue445/rubicure/pull/250
26
+
27
+ ## v1.3.5
28
+ [full changelog](http://github.com/sue445/rubicure/compare/v1.3.4...v1.3.5)
29
+
30
+ * Impl `Precure.miracle_leap`
31
+ * https://github.com/sue445/rubicure/pull/243
32
+
33
+ ## v1.3.4
34
+ [full changelog](http://github.com/sue445/rubicure/compare/v1.3.3...v1.3.4)
35
+
36
+ * Add Cure earth's birthday
37
+ * https://github.com/sue445/rubicure/pull/239
3
38
 
4
39
  ## v1.3.3
5
40
  [full changelog](http://github.com/sue445/rubicure/compare/v1.3.2...v1.3.3)
data/Gemfile CHANGED
@@ -3,22 +3,7 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in rubicure.gemspec
4
4
  gemspec
5
5
 
6
- if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.3.0")
7
- gem "backport_dig"
8
-
9
- # i18n v1.5.1+ requires Ruby 2.3.0+
10
- gem "i18n", "< 1.5.1"
11
- end
12
-
13
6
  if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.5.0")
14
7
  # activesupport v6.0.0+ requires Ruby 2.5.0+
15
8
  gem "activesupport", "< 6.0.0"
16
9
  end
17
-
18
- if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.4.0")
19
- # byebug v11.0.0+ requires Ruby 2.3.0+ and byebug v11.1.0+ requires Ruby 2.4.0+
20
- gem "byebug", "< 11.0.0"
21
-
22
- # simplecov-html 0.11.0+ requires Ruby 2.4.0
23
- gem "simplecov-html", "< 0.11.0"
24
- end
data/README.md CHANGED
@@ -22,7 +22,7 @@ see followings
22
22
 
23
23
  ## Requirements
24
24
 
25
- * ruby >= 2.2.2
25
+ * ruby >= 2.4
26
26
  * more: [.github/workflows/test.yml](.github/workflows/test.yml)
27
27
 
28
28
  ## Installation
@@ -102,7 +102,7 @@ Or install it yourself as:
102
102
  => "HUGっと!プリキュア"
103
103
 
104
104
  >> Precure.dokidoki
105
- => {:series_name=>"dokidoki", :title=>"ドキドキ!プリキュア", :started_date=>Sun, 03 Feb 2013, :ended_date=>Sun, 26 Jan 2014, :girls=>["cure_heart", "cure_diamond", "cure_rosetta", "cure_sword", "cure_ace"]}
105
+ => {:series_name=>"dokidoki", :title=>"ドキドキ!プリキュア", :started_date=>#<Date: 2013-02-03 ((2456327j,0s,0n),+0s,2299161j)>, :ended_date=>#<Date: 2014-01-26 ((2456684j,0s,0n),+0s,2299161j)>, :girls=>["cure_heart", "cure_diamond", "cure_rosetta", "cure_sword", "cure_ace"]}
106
106
  ```
107
107
 
108
108
  other pattern
@@ -119,7 +119,7 @@ and [more aliases!](config/series.yml)
119
119
 
120
120
  ```ruby
121
121
  >> Precure.now
122
- => {:series_name=>"healingood", :title=>"ヒーリングっど♥プリキュア", :started_date=>Sun, 02 Feb 2020, :girls=>["cure_grace", "cure_fontaine", "cure_sparkle", "cure_earth"]}
122
+ => {:series_name=>"tropical_rouge", :title=>"トロピカル~ジュ!プリキュア", :started_date=>#<Date: 2021-02-28 ((2459274j,0s,0n),+0s,2299161j)>, :girls=>["cure_summer", "cure_coral", "cure_papaya", "cure_flamingo"]}
123
123
 
124
124
  # -2013/1/27 : smile precure
125
125
  # 2013/2/5 - : dokidoki precure
@@ -145,7 +145,7 @@ Precure.now
145
145
  => 5
146
146
 
147
147
  >> Precure.smile.girls.first
148
- => {:girl_name=>"cure_happy", :human_name=>"星空みゆき", :precure_name=>"キュアハッピー", :cast_name=>"福圓美里", :created_date=>Sun, 05 Feb 2012, :color=>"pink", :transform_message=>"(レディ?)\nプリキュア・スマイルチャージ!\n(ゴー!ゴー!レッツ・ゴー!ハッピー!!)\nキラキラ輝く未来の光! キュアハッピー!\n5つの光が導く未来!\n輝け!スマイルプリキュア!", :extra_names=>["プリンセスハッピー", "ウルトラハッピー"], :attack_messages=>["プリキュア!ハッピーシャワー!!", "開け、ロイヤルクロック!\n(みんなの力を1つにするクル!)\n届け、希望の光!\nはばたけ!光り輝く未来へ!\nプリキュア!ロイヤルレインボーバースト!", "(みんなの力を1つにするクル!)\nプリキュア!ミラクルレインボーバースト!\n輝けー!!\nスマイルプリキュア!!"], :transform_calls=>["smile_charge"]}
148
+ => {:girl_name=>"cure_happy", :human_name=>"星空みゆき", :precure_name=>"キュアハッピー", :cast_name=>"福圓美里", :created_date=>#<Date: 2012-02-05 ((2455963j,0s,0n),+0s,2299161j)>, :color=>"pink", :transform_message=>"(レディ?)\nプリキュア・スマイルチャージ!\n(ゴー!ゴー!レッツ・ゴー!ハッピー!!)\nキラキラ輝く未来の光! キュアハッピー!\n5つの光が導く未来!\n輝け!スマイルプリキュア!", :extra_names=>["プリンセスハッピー", "ウルトラハッピー"], :attack_messages=>["プリキュア!ハッピーシャワー!!", "開け、ロイヤルクロック!\n(みんなの力を1つにするクル!)\n届け、希望の光!\nはばたけ!光り輝く未来へ!\nプリキュア!ロイヤルレインボーバースト!", "(みんなの力を1つにするクル!)\nプリキュア!ミラクルレインボーバースト!\n輝けー!!\nスマイルプリキュア!!"], :transform_calls=>["smile_charge"]}
149
149
 
150
150
  >> Precure.smile.girls.map(&:human_name)
151
151
  => ["星空みゆき", "日野あかね", "黄瀬やよい", "緑川なお", "青木れいか"]
@@ -160,31 +160,31 @@ Precure.now
160
160
  ### Select own precure girl
161
161
  ```ruby
162
162
  >> Cure.lemonade
163
- => {:girl_name=>"cure_lemonade", :human_name=>"春日野うらら", :precure_name=>"キュアレモネード", :cast_name=>"伊瀬茉莉也", :created_date=>Sun, 18 Feb 2007, :color=>"yellow", :transform_message=>"プリキュア!メタモルフォーゼ!\nはじけるレモンの香り、キュアレモネード!\n希望の力と未来の光!\n華麗に羽ばたく5つの心!\nYes!プリキュア5!", :extra_names=>nil, :attack_messages=>["輝く乙女のはじける力、受けてみなさい!\nプリキュア!プリズム・チェーン!"], :transform_calls=>["metamorphose"]}
163
+ => {:girl_name=>"cure_lemonade", :human_name=>"春日野うらら", :precure_name=>"キュアレモネード", :cast_name=>"伊瀬茉莉也", :created_date=>#<Date: 2007-02-18 ((2454150j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"プリキュア!メタモルフォーゼ!\nはじけるレモンの香り、キュアレモネード!\n希望の力と未来の光!\n華麗に羽ばたく5つの心!\nYes!プリキュア5!", :extra_names=>nil, :attack_messages=>["輝く乙女のはじける力、受けてみなさい!\nプリキュア!プリズム・チェーン!"], :transform_calls=>["metamorphose"]}
164
164
 
165
165
  >> Cure.pine
166
- => {:girl_name=>"cure_pine", :human_name=>"山吹祈里", :precure_name=>"キュアパイン", :cast_name=>"中川亜紀子", :created_date=>Sun, 15 Feb 2009, :color=>"yellow", :transform_message=>"チェインジ!プリキュア・ビートアップ!\nイエローハートは祈りのしるし!\nとれたてフレッシュ、キュアパイン!\nレッツプリキュア!", :extra_names=>["キュアエンジェルパイン"], :attack_messages=>["悪いの悪いの飛んでいけ!\nプリキュア!ヒーリングプレアーフレッシュ!"], :transform_calls=>["change_precure_beat_up", "change", "beat_up"]}
166
+ => {:girl_name=>"cure_pine", :human_name=>"山吹祈里", :precure_name=>"キュアパイン", :cast_name=>"中川亜紀子", :created_date=>#<Date: 2009-02-15 ((2454878j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"チェインジ!プリキュア・ビートアップ!\nイエローハートは祈りのしるし!\nとれたてフレッシュ、キュアパイン!\nレッツプリキュア!", :extra_names=>["キュアエンジェルパイン"], :attack_messages=>["悪いの悪いの飛んでいけ!\nプリキュア!ヒーリングプレアーフレッシュ!"], :transform_calls=>["change_precure_beat_up", "change", "beat_up"]}
167
167
 
168
168
  >> Cure.sunshine
169
- => {:girl_name=>"cure_sunshine", :human_name=>"明堂院いつき", :precure_name=>"キュアサンシャイン", :cast_name=>"桑島法子", :created_date=>Sun, 18 Jul 2010, :color=>"yellow", :transform_message=>"(プリキュアの種、いくですぅ!)\nプリキュア!オープンマイハート!\n陽の光浴びる一輪の花! キュアサンシャイン!\nハートキャッチ、プリキュア!", :extra_names=>["スーパーキュアサンシャイン"], :attack_messages=>["花よ、舞い踊れ!\nプリキュア!ゴールドフォルテバースト!!", "花よ、咲き誇れ!\nプリキュア・ハートキャッチ・オーケストラ!!"], :transform_calls=>["open_my_heart"]}
169
+ => {:girl_name=>"cure_sunshine", :human_name=>"明堂院いつき", :precure_name=>"キュアサンシャイン", :cast_name=>"桑島法子", :created_date=>#<Date: 2010-07-18 ((2455396j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"(プリキュアの種、いくですぅ!)\nプリキュア!オープンマイハート!\n陽の光浴びる一輪の花! キュアサンシャイン!\nハートキャッチ、プリキュア!", :extra_names=>["スーパーキュアサンシャイン"], :attack_messages=>["花よ、舞い踊れ!\nプリキュア!ゴールドフォルテバースト!!", "花よ、咲き誇れ!\nプリキュア・ハートキャッチ・オーケストラ!!"], :transform_calls=>["open_my_heart"]}
170
170
 
171
171
  >> Cure.muse
172
- => {:girl_name=>"cure_muse", :human_name=>"調辺アコ", :precure_name=>"キュアミューズ", :cast_name=>"大久保瑠美", :created_date=>Sun, 16 Oct 2011, :color=>"yellow", :transform_message=>"レッツプレイ!プリキュアモジュレーション!!\n爪弾くは女神の調べ! キュアミューズ!\n届け4人の組曲!スイートプリキュア!", :extra_names=>["クレッシェンドミューズ"], :attack_messages=>["おいで、シリー!\nシの音符の、シャイニングメロディ!\nプリキュア!スパークリングシャワー!!\n三拍子!1、2、3\nフィナーレ!", "届けましょう、希望のシンフォニー!\nプリキュア!スイートセッションアンサンブル!\nクレッシェンド!!\nフィナーレ!"], :transform_calls=>["lets_play_precure_modulation", "lets_play", "modulation"]}
172
+ => {:girl_name=>"cure_muse", :human_name=>"調辺アコ", :precure_name=>"キュアミューズ", :cast_name=>"大久保瑠美", :created_date=>#<Date: 2011-10-16 ((2455851j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"レッツプレイ!プリキュアモジュレーション!!\n爪弾くは女神の調べ! キュアミューズ!\n届け4人の組曲!スイートプリキュア!", :extra_names=>["クレッシェンドミューズ"], :attack_messages=>["おいで、シリー!\nシの音符の、シャイニングメロディ!\nプリキュア!スパークリングシャワー!!\n三拍子!1、2、3\nフィナーレ!", "届けましょう、希望のシンフォニー!\nプリキュア!スイートセッションアンサンブル!\nクレッシェンド!!\nフィナーレ!"], :transform_calls=>["lets_play_precure_modulation", "lets_play", "modulation"]}
173
173
 
174
174
  >> Cure.peace
175
- => {:girl_name=>"cure_peace", :human_name=>"黄瀬やよい", :precure_name=>"キュアピース", :cast_name=>"金元寿子", :created_date=>Sun, 19 Feb 2012, :color=>"yellow", :transform_message=>"(レディ?)\nプリキュア・スマイルチャージ!\n(ゴー!ゴー!レッツ・ゴー!ピース!!)\nピカピカピカリンジャンケンポン! キュアピース!\n5つの光が導く未来!\n輝け!スマイルプリキュア!", :extra_names=>["プリンセスピース", "ウルトラピース"], :attack_messages=>["プリキュア!ピースサンダー!!", "開け、ロイヤルクロック!\n(みんなの力を1つにするクル!)\n届け、希望の光!\nはばたけ!光り輝く未来へ!\nプリキュア!ロイヤルレインボーバースト!", "(みんなの力を1つにするクル!)\nプリキュア!ミラクルレインボーバースト!\n輝けー!!\nスマイルプリキュア!!"], :transform_calls=>["smile_charge"]}
175
+ => {:girl_name=>"cure_peace", :human_name=>"黄瀬やよい", :precure_name=>"キュアピース", :cast_name=>"金元寿子", :created_date=>#<Date: 2012-02-19 ((2455977j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"(レディ?)\nプリキュア・スマイルチャージ!\n(ゴー!ゴー!レッツ・ゴー!ピース!!)\nピカピカピカリンジャンケンポン! キュアピース!\n5つの光が導く未来!\n輝け!スマイルプリキュア!", :extra_names=>["プリンセスピース", "ウルトラピース"], :attack_messages=>["プリキュア!ピースサンダー!!", "開け、ロイヤルクロック!\n(みんなの力を1つにするクル!)\n届け、希望の光!\nはばたけ!光り輝く未来へ!\nプリキュア!ロイヤルレインボーバースト!", "(みんなの力を1つにするクル!)\nプリキュア!ミラクルレインボーバースト!\n輝けー!!\nスマイルプリキュア!!"], :transform_calls=>["smile_charge"]}
176
176
 
177
177
  >> Cure.rosetta
178
- => {:girl_name=>"cure_rosetta", :human_name=>"四葉ありす", :precure_name=>"キュアロゼッタ", :cast_name=>"渕上舞", :created_date=>Sun, 24 Feb 2013, :color=>"yellow", :birthday=>"5/28", :transform_message=>"プリキュアラブリンク!\nL! O! V! E!\nひだまりポカポカ キュアロゼッタ!\n響け愛の鼓動!ドキドキプリキュア!\n世界を制するのは愛だけです、\nさぁ、あなたも私と愛を育んでくださいな", :extra_names=>nil, :attack_messages=>["カッチカチの!ロゼッタウォール!"], :transform_calls=>["love_link"]}
178
+ => {:girl_name=>"cure_rosetta", :human_name=>"四葉ありす", :precure_name=>"キュアロゼッタ", :cast_name=>"渕上舞", :created_date=>#<Date: 2013-02-24 ((2456348j,0s,0n),+0s,2299161j)>, :color=>"yellow", :birthday=>"5/28", :transform_message=>"プリキュアラブリンク!\nL! O! V! E!\nひだまりポカポカ キュアロゼッタ!\n響け愛の鼓動!ドキドキプリキュア!\n世界を制するのは愛だけです、\nさぁ、あなたも私と愛を育んでくださいな", :extra_names=>nil, :attack_messages=>["カッチカチの!ロゼッタウォール!"], :transform_calls=>["love_link"]}
179
179
 
180
180
  >> Cure.honey
181
- => {:girl_name=>"cure_honey", :human_name=>"大森ゆうこ", :precure_name=>"キュアハニー", :cast_name=>"北川里奈", :created_date=>Sat, 15 Mar 2014, :color=>"yellow", :transform_message=>"(かわルンルン!)\nプリキュアくるりんミラーチェンジ!\n大地に実る命の光!キュアハニー!\nハピネス注入!幸せチャージ!\nハピネスチャージプリキュア!", :extra_names=>["キュアハニー ポップコーンチア"], :attack_messages=>["命の光を聖なる力へ!\nハニーバトン!\nプリキュア!スパークリングバトンアタック!!\nイエイ!\n命よ、天に帰れ!\n(ゴクラ〜ク…)", "(かわルンルン!)\nプリキュアくるりんミラーチェンジ!ポップコーンチア!!\nプリキュア!リボンハートエクスプロージョン!!\nビクトリー!!", "(かわルンルン!)\nプリキュアくるりんミラーチェンジ!ココナッツサンバ!!\nプリキュア!マラカスリズムスパーク!!\nマンボ!!"], :transform_calls=>["kururin_mirror_change"]}
181
+ => {:girl_name=>"cure_honey", :human_name=>"大森ゆうこ", :precure_name=>"キュアハニー", :cast_name=>"北川里奈", :created_date=>#<Date: 2014-03-15 ((2456732j,0s,0n),+0s,2299161j)>, :color=>"yellow", :transform_message=>"(かわルンルン!)\nプリキュアくるりんミラーチェンジ!\n大地に実る命の光!キュアハニー!\nハピネス注入!幸せチャージ!\nハピネスチャージプリキュア!", :extra_names=>["キュアハニー ポップコーンチア"], :attack_messages=>["命の光を聖なる力へ!\nハニーバトン!\nプリキュア!スパークリングバトンアタック!!\nイエイ!\n命よ、天に帰れ!\n(ゴクラ〜ク…)", "(かわルンルン!)\nプリキュアくるりんミラーチェンジ!ポップコーンチア!!\nプリキュア!リボンハートエクスプロージョン!!\nビクトリー!!", "(かわルンルン!)\nプリキュアくるりんミラーチェンジ!ココナッツサンバ!!\nプリキュア!マラカスリズムスパーク!!\nマンボ!!"], :transform_calls=>["kururin_mirror_change"]}
182
182
 
183
183
  >> Shiny.luminous
184
- => {:girl_name=>"shiny_luminous", :human_name=>"九条ひかり", :precure_name=>"シャイニールミナス", :cast_name=>"田中理恵", :created_date=>Sun, 06 Mar 2005, :color=>"yellow", :birthday=>"9/9", :transform_message=>"ルミナス・シャイニングストリーム!\n輝く命、シャイニールミナス!\n光の心と光の意志、すべてを一つにするために!", :extra_names=>nil, :attack_messages=>["光の意志よ!私に勇気を!希望と力を!!\nルミナス・ハーティエル・アンクション!"], :transform_calls=>["shining_stream"]}
184
+ => {:girl_name=>"shiny_luminous", :human_name=>"九条ひかり", :precure_name=>"シャイニールミナス", :cast_name=>"田中理恵", :created_date=>#<Date: 2005-03-06 ((2453436j,0s,0n),+0s,2299161j)>, :color=>"yellow", :birthday=>"9/9", :transform_message=>"ルミナス・シャイニングストリーム!\n輝く命、シャイニールミナス!\n光の心と光の意志、すべてを一つにするために!", :extra_names=>nil, :attack_messages=>["光の意志よ!私に勇気を!希望と力を!!\nルミナス・ハーティエル・アンクション!"], :transform_calls=>["shining_stream"]}
185
185
 
186
186
  >> Milky.rose
187
- => {:girl_name=>"milky_rose", :human_name=>"美々野くるみ", :precure_name=>"ミルキィローズ", :cast_name=>"仙台エリ", :created_date=>Sun, 06 Apr 2008, :color=>"purple", :transform_message=>"スカイローズ・トランスレイト!\n青いバラは秘密のしるし! ミルキィローズ!", :extra_names=>nil, :attack_messages=>["邪悪な力を包み込む\nバラの吹雪を咲かせましょう!\nミルキィローズ・ブリザード!"], :transform_calls=>["sky_rose_translate", "translate"]}
187
+ => {:girl_name=>"milky_rose", :human_name=>"美々野くるみ", :precure_name=>"ミルキィローズ", :cast_name=>"仙台エリ", :created_date=>#<Date: 2008-04-06 ((2454563j,0s,0n),+0s,2299161j)>, :color=>"purple", :transform_message=>"スカイローズ・トランスレイト!\n青いバラは秘密のしるし! ミルキィローズ!", :extra_names=>nil, :attack_messages=>["邪悪な力を包み込む\nバラの吹雪を咲かせましょう!\nミルキィローズ・ブリザード!"], :transform_calls=>["sky_rose_translate", "translate"]}
188
188
  ```
189
189
 
190
190
  and [more aliases!](config/girls/)
@@ -535,6 +535,15 @@ and [more aliases!](config/movies.yml)
535
535
  => ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ", "キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール", "キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ"]
536
536
  ```
537
537
 
538
+ ### `Precure.miracle_leap`
539
+ ```ruby
540
+ >> Precure.miracle_leap.count
541
+ => 13
542
+
543
+ >> Precure.miracle_leap.map(&:precure_name)
544
+ => ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール", "キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ", "キュアグレース", "キュアフォンテーヌ", "キュアスパークル"]
545
+ ```
546
+
538
547
  ### Equivalence
539
548
  ```ruby
540
549
  >> yayoi = Cure.peace.dup
@@ -596,19 +605,22 @@ Go!プリンセスプリキュア
596
605
  魔法つかいプリキュア!
597
606
  キラキラ☆プリキュアアラモード
598
607
  HUGっと!プリキュア
599
- => [: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]
608
+ スター☆トゥインクルプリキュア
609
+ ヒーリングっど♥プリキュア
610
+ トロピカル~ジュ!プリキュア
611
+ => [: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]
600
612
 
601
613
  >> Precure.inject([]){|girl_count_of_series, series| girl_count_of_series << series.girls.count; girl_count_of_series }
602
- => [2, 3, 2, 5, 6, 4, 4, 4, 5, 5, 4, 4, 3, 6, 5, 5, 4]
614
+ => [2, 3, 2, 5, 6, 4, 4, 4, 5, 5, 4, 4, 3, 6, 5, 5, 4, 4]
603
615
 
604
616
  >> Precure.map(&:title)
605
- => ["ふたりはプリキュア", "ふたりはプリキュア Max Heart", "ふたりはプリキュア Splash☆Star", "Yes! プリキュア5", "Yes! プリキュア5 Go Go!", "フレッシュプリキュア!", "ハートキャッチプリキュア!", "スイートプリキュア♪", "スマイルプリキュア!", "ドキドキ!プリキュア", "ハピネスチャージプリキュア!", "Go!プリンセスプリキュア", "魔法つかいプリキュア!", "キラキラ☆プリキュアアラモード", "HUGっと!プリキュア", "スター☆トゥインクルプリキュア", "ヒーリングっど♥プリキュア"]
617
+ => ["ふたりはプリキュア", "ふたりはプリキュア Max Heart", "ふたりはプリキュア Splash☆Star", "Yes! プリキュア5", "Yes! プリキュア5 Go Go!", "フレッシュプリキュア!", "ハートキャッチプリキュア!", "スイートプリキュア♪", "スマイルプリキュア!", "ドキドキ!プリキュア", "ハピネスチャージプリキュア!", "Go!プリンセスプリキュア", "魔法つかいプリキュア!", "キラキラ☆プリキュアアラモード", "HUGっと!プリキュア", "スター☆トゥインクルプリキュア", "ヒーリングっど♥プリキュア", "トロピカル~ジュ!プリキュア"]
606
618
 
607
619
  >> Precure.happiness_charge.map(&:precure_name)
608
620
  => ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"]
609
621
 
610
622
  >> Precure.map{|series| series.map(&:precure_name) }
611
- => [["キュアブラック", "キュアホワイト"], ["キュアブラック", "キュアホワイト", "シャイニールミナス"], ["キュアブルーム", "キュアイーグレット"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア", "ミルキィローズ"], ["キュアピーチ", "キュアベリー", "キュアパイン", "キュアパッション"], ["キュアブロッサム", "キュアマリン", "キュアサンシャイン", "キュアムーンライト"], ["キュアメロディ", "キュアリズム", "キュアビート", "キュアミューズ"], ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"], ["キュアハート", "キュアダイヤモンド", "キュアロゼッタ", "キュアソード", "キュアエース"], ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"], ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット"], ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ"], ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ"], ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール"], ["キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ"], ["キュアグレース", "キュアフォンテーヌ", "キュアスパークル", "キュアアース"]]
623
+ => [["キュアブラック", "キュアホワイト"], ["キュアブラック", "キュアホワイト", "シャイニールミナス"], ["キュアブルーム", "キュアイーグレット"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア", "ミルキィローズ"], ["キュアピーチ", "キュアベリー", "キュアパイン", "キュアパッション"], ["キュアブロッサム", "キュアマリン", "キュアサンシャイン", "キュアムーンライト"], ["キュアメロディ", "キュアリズム", "キュアビート", "キュアミューズ"], ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"], ["キュアハート", "キュアダイヤモンド", "キュアロゼッタ", "キュアソード", "キュアエース"], ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"], ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット"], ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ"], ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ"], ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール"], ["キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ"], ["キュアグレース", "キュアフォンテーヌ", "キュアスパークル", "キュアアース"], ["キュアサマー", "キュアコーラル", "キュアパパイア", "キュアフラミンゴ"]]
612
624
  ```
613
625
 
614
626
  ### Not operator
@@ -679,10 +691,10 @@ Cure.cosmo.name
679
691
  => ["キュアブルーム", "キュアドリーム", "キュアピーチ", "キュアブロッサム", "キュアメロディ", "キュアハッピー", "キュアハート", "キュアラブリー", "キュアフローラ", "キュアミラクル", "キュアホイップ", "キュアエール", "キュアスター", "キュアグレース"]
680
692
 
681
693
  >> Precure.all_girls.select(&:yellow?).map(&:precure_name)
682
- => ["シャイニールミナス", "キュアレモネード", "キュアパイン", "キュアサンシャイン", "キュアミューズ", "キュアピース", "キュアロゼッタ", "キュアハニー", "キュアトゥインクル", "キュアカスタード", "キュアエトワール", "キュアソレイユ", "キュアスパークル"]
694
+ => ["シャイニールミナス", "キュアレモネード", "キュアパイン", "キュアサンシャイン", "キュアミューズ", "キュアピース", "キュアロゼッタ", "キュアハニー", "キュアトゥインクル", "キュアカスタード", "キュアエトワール", "キュアソレイユ", "キュアスパークル", "キュアパパイア"]
683
695
 
684
696
  >> Precure.all_girls.group_by{ |girl| girl.color }.map{ |color, girls| [color, girls.count] }.sort_by{ |color, girl_count| [girl_count, color] }.reverse
685
- => [["pink", 14], ["yellow", 13], ["blue", 11], ["purple", 9], ["red", 7], ["white", 4], ["green", 4], ["rainbow", 2], ["black", 1]]
697
+ => [["yellow", 14], ["pink", 14], ["blue", 11], ["purple", 10], ["red", 8], ["white", 5], ["green", 4], ["rainbow", 2], ["black", 1]]
686
698
  ```
687
699
 
688
700
  ### birthday methods
@@ -698,7 +710,7 @@ Cure.cosmo.name
698
710
  >> require "delorean"
699
711
  >> Delorean.time_travel_to "2015-11-24"
700
712
  >> Date.today
701
- => Tue, 24 Nov 2015
713
+ => #<Date: 2015-11-24 ((2457351j,0s,0n),+0s,2299161j)>
702
714
  >> Cure.twinkle.birthday?
703
715
  => false
704
716
 
@@ -708,12 +720,12 @@ Cure.cosmo.name
708
720
  => true
709
721
 
710
722
  >> Precure.all_girls.select(&:have_birthday?).map(&:human_name)
711
- => ["美墨なぎさ", "雪城ほのか", "九条ひかり", "日向咲", "美翔舞", "相田マナ", "菱川六花", "四葉ありす", "剣崎真琴", "春野はるか", "海藤みなみ", "天ノ川きらら", "紅城トワ", "朝日奈みらい", "十六夜リコ", "宇佐美いちか", "有栖川ひまり", "立神あおい", "琴爪ゆかり", "剣城あきら", "キラ星シエル", "野乃はな", "薬師寺さあや", "輝木ほまれ", "愛崎えみる", "ルールー・アムール", "星奈ひかる", "羽衣ララ", "天宮えれな", "香久矢まどか", "ユニ", "花寺のどか", "沢泉ちゆ", "平光ひなた"]
723
+ => ["美墨なぎさ", "雪城ほのか", "九条ひかり", "日向咲", "美翔舞", "相田マナ", "菱川六花", "四葉ありす", "剣崎真琴", "春野はるか", "海藤みなみ", "天ノ川きらら", "紅城トワ", "朝日奈みらい", "十六夜リコ", "宇佐美いちか", "有栖川ひまり", "立神あおい", "琴爪ゆかり", "剣城あきら", "キラ星シエル", "野乃はな", "薬師寺さあや", "輝木ほまれ", "愛崎えみる", "ルールー・アムール", "星奈ひかる", "羽衣ララ", "天宮えれな", "香久矢まどか", "ユニ", "花寺のどか", "沢泉ちゆ", "平光ひなた", "風鈴アスミ", "夏海まなつ", "涼村さんご", "一ノ瀬みのり", "滝沢あすか"]
712
724
  >> Precure.all_girls.select(&:have_birthday?).sort_by { |girl| Date.parse(girl.birthday) }.map{ |girl| [girl.birthday, girl.human_name] }
713
- => [["1/7", "宇佐美いちか"], ["1/20", "野乃はな"], ["3/9", "花寺のどか"], ["4/4", "雪城ほのか"], ["4/8", "輝木ほまれ"], ["4/10", "春野はるか"], ["4/12", "星奈ひかる"], ["4/16", "有栖川ひまり"], ["5/28", "四葉ありす"], ["6/10", "薬師寺さあや"], ["6/11", "琴爪ゆかり"], ["6/12", "朝日奈みらい"], ["7/7", "羽衣ララ"], ["7/15", "愛崎えみる"], ["7/20", "海藤みなみ"], ["7/30", "キラ星シエル"], ["8/4", "相田マナ"], ["8/7", "日向咲"], ["8/21", "沢泉ちゆ"], ["8/27", "立神あおい"], ["9/8", "天宮えれな"], ["9/9", "九条ひかり"], ["9/12", "天ノ川きらら"], ["9/17", "菱川六花"], ["9/23", "ルールー・アムール"], ["9/24", "剣城あきら"], ["10/4", "平光ひなた"], ["10/10", "美墨なぎさ"], ["10/11", "ユニ"], ["11/4", "剣崎真琴"], ["11/12", "十六夜リコ"], ["11/20", "美翔舞"], ["11/23", "香久矢まどか"], ["12/15", "紅城トワ"]]
725
+ => [["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", "朝日奈みらい"], ["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", "紅城トワ"]]
714
726
 
715
727
  >> Precure.all_girls.select(&:have_birthday?).map(&:human_name).count
716
- => 34
728
+ => 39
717
729
  ```
718
730
 
719
731
  * `has_birthday?` is alias to `have_birthday?`
@@ -783,6 +795,19 @@ $ curl -s https://rubicure.herokuapp.com/girls/cure_twinkle.json | jq .
783
795
  }
784
796
  ```
785
797
 
798
+ ## Versioning Policy
799
+ `rubicure` uses **Semantic Cure Versioning** :heart:
800
+
801
+ * Patch version up
802
+ * e.g. `1.1.1` -> `1.1.2`
803
+ * Containing bugfix
804
+ * Minor version up
805
+ * e.g. `1.1.1` -> `1.2.0`
806
+ * **Addition of Precure series**
807
+ * Not containing only addition features :kissing_heart:
808
+ * Major version up
809
+ * e.g. `1.1.1` -> `2.0.0`
810
+ * Containing breaking changes
786
811
 
787
812
  ## Contributing
788
813
 
@@ -98,7 +98,7 @@ cure_earth: &cure_earth
98
98
  cast_name: 三森すずこ
99
99
  color: purple
100
100
  created_date: 2020-08-09 # episode 19
101
- # birthday:
101
+ birthday: 8/16
102
102
  transform_message: |-
103
103
  スタート!
104
104
  プリキュアオペレーション!
@@ -0,0 +1,111 @@
1
+ cure_summer: &cure_summer
2
+ girl_name: cure_summer
3
+ human_name: 夏海まなつ
4
+ precure_name: キュアサマー
5
+ cast_name: ファイルーズあい
6
+ color: white
7
+ created_date: 2021-02-28 # episode 1
8
+ birthday: 8/1
9
+ transform_message: |-
10
+ プリキュア!トロピカルチェンジ!
11
+ レッツメイク!キャッチ!
12
+ チーク!
13
+ アイズ!
14
+ ヘアー!
15
+ リップ!
16
+ ドレス!
17
+ ときめく常夏!キュアサマー!
18
+ # extra_names:
19
+ attack_messages:
20
+ - |-
21
+ ハートルージュロッド!
22
+ プリキュア!おてんとサマーストライク!
23
+ ビクトリー!
24
+ transform_calls:
25
+ - precure_tropical_change
26
+ summer:
27
+ <<: *cure_summer
28
+
29
+ cure_coral: &cure_coral
30
+ girl_name: cure_coral
31
+ human_name: 涼村さんご
32
+ precure_name: キュアコーラル
33
+ cast_name: 花守ゆみり
34
+ color: purple
35
+ created_date: 2021-03-14 # episode 3
36
+ birthday: 5/9
37
+ transform_message: |-
38
+ プリキュア!トロピカルチェンジ!
39
+ レッツメイク!キャッチ!
40
+ リップ!
41
+ アイズ!
42
+ ヘアー!
43
+ チーク!
44
+ ドレス!
45
+ きらめく宝石!キュアコーラル!
46
+ # extra_names:
47
+ attack_messages:
48
+ - |-
49
+ ハートルージュロッド!
50
+ プリキュア!もこもこコーラルディフュージョン!
51
+ ビクトリー!
52
+ transform_calls:
53
+ - precure_tropical_change
54
+ coral:
55
+ <<: *cure_coral
56
+
57
+ cure_papaya: &cure_papaya
58
+ girl_name: cure_papaya
59
+ human_name: 一ノ瀬みのり
60
+ precure_name: キュアパパイア
61
+ cast_name: 石川由依
62
+ color: yellow
63
+ created_date: 2021-03-21 # episode 4
64
+ birthday: 11/21
65
+ transform_message: |-
66
+ プリキュア!トロピカルチェンジ!
67
+ レッツメイク!キャッチ!
68
+ チーク!
69
+ リップ!
70
+ ヘアー!
71
+ アイズ!
72
+ ドレス!
73
+ ひらめく果実!キュアパパイア!
74
+ # extra_names:
75
+ attack_messages:
76
+ - |-
77
+ ハートルージュロッド!
78
+ プリキュア!ぱんぱかパパイアショット!
79
+ ビクトリー!
80
+ transform_calls:
81
+ - precure_tropical_change
82
+ papaya:
83
+ <<: *cure_papaya
84
+
85
+ cure_flamingo: &cure_flamingo
86
+ girl_name: cure_flamingo
87
+ human_name: 滝沢あすか
88
+ precure_name: キュアフラミンゴ
89
+ cast_name: 瀬戸麻沙美
90
+ color: red
91
+ created_date: 2021-03-28 # episode 5
92
+ birthday: 10/15
93
+ transform_message: |-
94
+ プリキュア!トロピカルチェンジ!
95
+ レッツメイク!キャッチ!
96
+ チーク!
97
+ アイズ!
98
+ リップ!
99
+ ヘアー!
100
+ ドレス!
101
+ はためく翼!キュアフラミンゴ!
102
+ # extra_names:
103
+ attack_messages:
104
+ - |-
105
+ ハートルージュロッド!
106
+ プリキュア!ぶっとびフラミンゴスマッシュ!
107
+ ビクトリー!
108
+ transform_calls:
109
+ - precure_tropical_change
110
+ flamingo:
111
+ <<: *cure_flamingo
data/config/movies.yml CHANGED
@@ -72,3 +72,7 @@ memories: &memories
72
72
  miracle_universe: &miracle_universe
73
73
  title: 映画プリキュアミラクルユニバース
74
74
  started_date: 2019-03-16
75
+ #######################################################
76
+ miracle_leap: &miracle_leap
77
+ title: 映画プリキュアミラクルリープ
78
+ started_date: 2020-10-31
data/config/series.yml CHANGED
@@ -222,7 +222,7 @@ healingood: &healingood
222
222
  series_name: healingood
223
223
  title: ヒーリングっど♥プリキュア
224
224
  started_date: 2020-02-02
225
- # ended_date: 2021-01-
225
+ ended_date: 2021-02-21
226
226
  girls:
227
227
  - cure_grace
228
228
  - cure_fontaine
@@ -230,3 +230,16 @@ healingood: &healingood
230
230
  - cure_earth
231
231
  healingood_precure:
232
232
  <<: *healingood
233
+ #######################################################
234
+ tropical_rouge: &tropical_rouge
235
+ series_name: tropical_rouge
236
+ title: トロピカル~ジュ!プリキュア
237
+ started_date: 2021-02-28
238
+ # ended_date: 2021-01-
239
+ girls:
240
+ - cure_summer
241
+ - cure_coral
242
+ - cure_papaya
243
+ - cure_flamingo
244
+ tropical_rouge_precure:
245
+ <<: *tropical_rouge
data/lib/rubicure.rb CHANGED
@@ -1,6 +1,10 @@
1
- require "active_support/all"
1
+ require "active_support/core_ext/array/wrap"
2
+ require "active_support/core_ext/hash/keys"
3
+ require "active_support/core_ext/time/calculations"
2
4
  require "yaml"
3
5
  require "hashie"
6
+ require "date"
7
+ require "json"
4
8
  require "rubicure/version"
5
9
  require "rubicure/concerns/util"
6
10
  require "rubicure/concerns/gengou"
@@ -16,15 +20,14 @@ require "rubicure/cure_passion"
16
20
  require "rubicure/cure_beat"
17
21
  require "rubicure/cure_scarlet"
18
22
 
19
- begin
20
- require "backport_dig"
21
- rescue LoadError # rubocop:disable Lint/HandleExceptions
22
- end
23
-
24
23
  module Precure
25
- def self.method_missing(name, *args, &block) # rubocop:disable Style/MethodMissing
24
+ def self.method_missing(name, *args, &block)
26
25
  Rubicure::Core.instance.send(name, *args, &block)
27
26
  end
27
+
28
+ def self.respond_to_missing?(name, include_private)
29
+ Rubicure::Core.instance.respond_to_missing?(name, include_private)
30
+ end
28
31
  end
29
32
 
30
33
  module Shiny
data/lib/rubicure/core.rb CHANGED
@@ -28,7 +28,7 @@ module Rubicure
28
28
  unmarked_precure.respond_to?(name)
29
29
  end
30
30
 
31
- # rubocop:disable Metrics/LineLength
31
+ # rubocop:disable Layout/LineLength
32
32
 
33
33
  # get current precure series
34
34
  # @return [Rubicure::Series] current precure
@@ -45,7 +45,7 @@ module Rubicure
45
45
  end
46
46
  raise NotOnAirError, "Not on air precure!"
47
47
  end
48
- # rubocop:enable Metrics/LineLength
48
+ # rubocop:enable Layout/LineLength
49
49
 
50
50
  alias_method :current, :now
51
51
 
@@ -195,7 +195,7 @@ module Rubicure
195
195
  end
196
196
  alias_method :superstars, :super_stars
197
197
 
198
- # rubocop:disable Metrics/LineLength
198
+ # rubocop:disable Layout/LineLength
199
199
 
200
200
  # Get precure miracle universe
201
201
  #
@@ -217,7 +217,30 @@ module Rubicure
217
217
 
218
218
  @miracle_universe
219
219
  end
220
- # rubocop:enable Metrics/LineLength
220
+
221
+ # Get precure miracle leap
222
+ #
223
+ # @return [Array<Rubicure::Girl>] precure miracle leap
224
+ #
225
+ # @example
226
+ # Precure.miracle_leap.count
227
+ # #=> 13
228
+ #
229
+ # Precure.miracle_leap.map(&:precure_name)
230
+ # #=> ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール", "キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアグレース", "キュアフォンテーヌ", "キュアスパークル"]
231
+ def miracle_leap
232
+ return @miracle_leap if @miracle_leap
233
+
234
+ girls = Precure.hugtto.girls + Precure.star_twinkle.girls + Precure.healingood.girls
235
+
236
+ miracle_leap_date = Rubicure::Movie.find(:miracle_leap).started_date
237
+ @miracle_leap = girls.select {|girl| girl.created_date && girl.created_date <= miracle_leap_date }
238
+ @miracle_leap.reject! {|girl| girl == Cure.earth }
239
+
240
+ @miracle_leap
241
+ end
242
+
243
+ # rubocop:enable Layout/LineLength
221
244
 
222
245
  # iterate with :unmarked, :max_heart, ...
223
246
  #
@@ -1,15 +1,18 @@
1
1
  [Cure.peace, Cure.cure_peace].each do |peace|
2
2
  class << peace
3
+ # rubocop:disable Performance/CollectionLiteralInLoop
3
4
  HANDS =
4
5
  (["グー"] * 13) +
5
6
  (["チョキ"] * 14) +
6
7
  (["パー"] * 15) +
7
8
  ["グッチョッパー"]
8
- MESSAGE = <<JANKEN.freeze
9
- ピカピカピカリン
10
- ジャンケンポン!
11
- (%s)
12
- JANKEN
9
+ # rubocop:enable Performance/CollectionLiteralInLoop
10
+
11
+ MESSAGE = <<~JANKEN.freeze
12
+ ピカピカピカリン
13
+ ジャンケンポン!
14
+ (%s)
15
+ JANKEN
13
16
  def pikarin_janken
14
17
  print_by_line(MESSAGE % HANDS.sample)
15
18
  end
@@ -50,7 +50,7 @@ module Rubicure
50
50
  @cache ||= {}
51
51
  unless @cache[movie_name]
52
52
  movie_config = config[movie_name] || {}
53
- movie_config.reject! {|_k, v| v.nil? }
53
+ movie_config.compact!
54
54
 
55
55
  @cache[movie_name] = Rubicure::Movie[movie_config]
56
56
  end
@@ -131,7 +131,7 @@ module Rubicure
131
131
  @cache ||= {}
132
132
  unless @cache[series_name]
133
133
  series_config = config[series_name] || {}
134
- series_config.reject! {|_k, v| v.nil? }
134
+ series_config.compact!
135
135
 
136
136
  @cache[series_name] = Rubicure::Series[series_config]
137
137
  end
@@ -1,3 +1,3 @@
1
1
  module Rubicure
2
- VERSION = "1.3.3".freeze
2
+ VERSION = "2.1.0".freeze
3
3
  end
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.2.2"
15
+ spec.required_ruby_version = ">= 2.4"
16
16
 
17
17
  if spec.respond_to?(:metadata)
18
18
  spec.metadata["homepage_uri"] = spec.homepage
@@ -40,14 +40,17 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency "bundler", ">= 1.3.5"
41
41
  spec.add_development_dependency "coveralls"
42
42
  spec.add_development_dependency "delorean"
43
- spec.add_development_dependency "onkcop", "0.53.0.0"
43
+ spec.add_development_dependency "onkcop", "1.0.0.0"
44
44
  spec.add_development_dependency "rake"
45
45
  spec.add_development_dependency "rspec", ">= 3.8.0"
46
46
  spec.add_development_dependency "rspec-collection_matchers"
47
47
  spec.add_development_dependency "rspec-its"
48
48
  spec.add_development_dependency "rspec-parameterized", ">= 0.3.2"
49
- spec.add_development_dependency "rubocop", "0.53.0"
50
- spec.add_development_dependency "rubocop-rspec", "1.25.1"
49
+ spec.add_development_dependency "rubocop", "1.7.0"
50
+ spec.add_development_dependency "rubocop_auto_corrector"
51
+ spec.add_development_dependency "rubocop-performance", "1.9.2"
52
+ spec.add_development_dependency "rubocop-rake", "0.5.1"
53
+ spec.add_development_dependency "rubocop-rspec", "2.1.0"
51
54
  spec.add_development_dependency "rubydoctest"
52
55
  spec.add_development_dependency "simplecov"
53
56
  spec.add_development_dependency "unparser", ">= 0.4.5"
@@ -86,7 +86,7 @@ describe Rubicure::Core do
86
86
  context "Without arg" do
87
87
  subject { instance.all_girls }
88
88
 
89
- let(:precure_count) { 65 }
89
+ let(:precure_count) { 69 }
90
90
 
91
91
  its(:count) { should == precure_count }
92
92
  it { should include Cure.echo }
@@ -182,4 +182,28 @@ describe Rubicure::Core do
182
182
 
183
183
  it { should contain_exactly(*miracle_universe_girl_names) }
184
184
  end
185
+
186
+ describe "#miracle_leap" do
187
+ subject { Precure.miracle_leap.map(&:girl_name) }
188
+
189
+ let(:miracle_leap_girl_names) do
190
+ [
191
+ Cure.yell,
192
+ Cure.ange,
193
+ Cure.etoile,
194
+ Cure.macherie,
195
+ Cure.amour,
196
+ Cure.star,
197
+ Cure.milky,
198
+ Cure.soleil,
199
+ Cure.selene,
200
+ Cure.cosmo,
201
+ Cure.grace,
202
+ Cure.fontaine,
203
+ Cure.sparkle,
204
+ ].map(&:girl_name)
205
+ end
206
+
207
+ it { should contain_exactly(*miracle_leap_girl_names) }
208
+ end
185
209
  end
@@ -25,11 +25,11 @@ describe Rubicure::Girl do
25
25
  let(:extra_names) { %w[プリンセスピース ウルトラピース] }
26
26
  let(:color) { "yellow" }
27
27
  let(:transform_message) do
28
- <<JANKEN
29
- プリキュアスマイルチャージ!
30
- GO! GO! Let's GO ピース!
31
- ピカピカピカリンジャンケンポン! キュアピース!
32
- JANKEN
28
+ <<~JANKEN
29
+ プリキュアスマイルチャージ!
30
+ GO! GO! Let's GO ピース!
31
+ ピカピカピカリンジャンケンポン! キュアピース!
32
+ JANKEN
33
33
  end
34
34
  let(:attack_messages) do
35
35
  [
@@ -100,13 +100,13 @@ JANKEN
100
100
  transform_calls: ["cure_up_rapapa"],
101
101
  color: "pink",
102
102
  birthday: "6/12",
103
- transform_styles: {
103
+ transform_styles: {
104
104
  diamond: {
105
- precure_name: "キュアミラクル(ダイヤスタイル)",
105
+ precure_name: "キュアミラクル(ダイヤスタイル)",
106
106
  transform_message: "",
107
107
  },
108
- ruby: {
109
- precure_name: "キュアミラクル(ルビースタイル)",
108
+ ruby: {
109
+ precure_name: "キュアミラクル(ルビースタイル)",
110
110
  transform_message: "",
111
111
  },
112
112
  },
@@ -258,7 +258,7 @@ JANKEN
258
258
  girl.transform!
259
259
  end
260
260
 
261
- subject! { humanize! }
261
+ subject! { humanize! } # rubocop:disable RSpec/LeadingSubject
262
262
 
263
263
  it_behaves_like :a_humanize_method
264
264
  end
@@ -13,6 +13,7 @@ describe Rubicure::Movie do
13
13
  :super_stars,
14
14
  :memories,
15
15
  :miracle_universe,
16
+ :miracle_leap,
16
17
  ]
17
18
  end
18
19
 
@@ -61,52 +61,54 @@ describe Rubicure do
61
61
  end
62
62
 
63
63
  describe "Cure." do
64
- where(:name) do
65
- [
66
- [:black],
67
- [:white],
68
-
69
- [:bloom],
70
- [:egret],
71
-
72
- [:dream],
73
- [:rouge],
74
- [:lemonade],
75
- [:mint],
76
- [:aqua],
77
-
78
- [:peach],
79
- [:berry],
80
- [:pine],
81
- [:passion],
82
-
83
- [:melody],
84
- [:rhythm],
85
- [:beat],
86
- [:muse],
87
-
88
- [:happy],
89
- [:sunny],
90
- [:peace],
91
- [:march],
92
- [:beauty],
93
-
94
- [:heart],
95
- [:diamond],
96
- [:rosetta],
97
- [:sword],
98
- [:ace],
99
-
100
- [:lovely],
101
- [:princess],
102
- [:honey],
103
- [:fortune],
104
- ]
105
- end
64
+ context "When precure who starting 'cure'" do
65
+ where(:name) do
66
+ [
67
+ [:black],
68
+ [:white],
69
+
70
+ [:bloom],
71
+ [:egret],
72
+
73
+ [:dream],
74
+ [:rouge],
75
+ [:lemonade],
76
+ [:mint],
77
+ [:aqua],
78
+
79
+ [:peach],
80
+ [:berry],
81
+ [:pine],
82
+ [:passion],
83
+
84
+ [:melody],
85
+ [:rhythm],
86
+ [:beat],
87
+ [:muse],
88
+
89
+ [:happy],
90
+ [:sunny],
91
+ [:peace],
92
+ [:march],
93
+ [:beauty],
94
+
95
+ [:heart],
96
+ [:diamond],
97
+ [:rosetta],
98
+ [:sword],
99
+ [:ace],
100
+
101
+ [:lovely],
102
+ [:princess],
103
+ [:honey],
104
+ [:fortune],
105
+ ]
106
+ end
106
107
 
107
- with_them do
108
- it { expect(Cure.send(name)).to be_an_instance_of Rubicure::Girl }
109
- it { expect(Cure.send(name).precure_name).to be_start_with "キュア" }
108
+ with_them do
109
+ it { expect(Cure.send(name)).to be_an_instance_of Rubicure::Girl }
110
+ it { expect(Cure.send(name).precure_name).to be_start_with "キュア" }
111
+ end
110
112
  end
111
113
 
112
114
  context "When precure who not starting 'cure'" do
@@ -18,6 +18,7 @@ describe Rubicure::Series do
18
18
  :hugtto,
19
19
  :star_twinkle,
20
20
  :healingood,
21
+ :tropical_rouge,
21
22
  ]
22
23
  end
23
24
 
@@ -71,7 +72,7 @@ describe Rubicure::Series do
71
72
  it { should all(be_instance_of Rubicure::Girl) }
72
73
  end
73
74
 
74
- # rubocop:disable Style/CaseEquality, Lint/UselessComparison, Style/NilComparison
75
+ # rubocop:disable Style/CaseEquality, Style/NilComparison
75
76
  describe "#===" do
76
77
  let(:series) { Rubicure::Series.find(series_name) }
77
78
  let(:series_name) { :smile }
@@ -79,7 +80,9 @@ describe Rubicure::Series do
79
80
  let(:girl_name) { :peace }
80
81
 
81
82
  context "same series" do
82
- it { expect(series === series).to be true }
83
+ let(:same_series) { Rubicure::Series.find(series_name) }
84
+
85
+ it { expect(series === same_series).to be true }
83
86
  it { expect(series === girl).to be true }
84
87
  end
85
88
 
@@ -99,7 +102,7 @@ describe Rubicure::Series do
99
102
  it { expect(series === nil).to be false }
100
103
  end
101
104
  end
102
- # rubocop:enable Style/CaseEquality, Lint/UselessComparison, Style/NilComparison
105
+ # rubocop:enable Style/CaseEquality, Style/NilComparison
103
106
 
104
107
  describe "#names" do
105
108
  subject { Rubicure::Series.names }
@@ -148,8 +151,8 @@ describe Rubicure::Series do
148
151
  let(:series_name) { :splash_star }
149
152
 
150
153
  let(:json) do
151
- <<-JSON
152
- {\"series_name\":\"splash_star\",\"title\":\"ふたりはプリキュア Splash☆Star\",\"started_date\":\"2006-02-05\",\"ended_date\":\"2007-01-28\",\"girls\":[\"cure_bloom\",\"cure_egret\"]}
154
+ <<~JSON
155
+ {\"series_name\":\"splash_star\",\"title\":\"ふたりはプリキュア Splash☆Star\",\"started_date\":\"2006-02-05\",\"ended_date\":\"2007-01-28\",\"girls\":[\"cure_bloom\",\"cure_egret\"]}
153
156
  JSON
154
157
  end
155
158
 
data/spec/spec_helper.rb CHANGED
@@ -35,10 +35,11 @@ require "rspec/its"
35
35
  require "rspec/collection_matchers"
36
36
  require "delorean"
37
37
  require "tempfile"
38
+ require "active_support/core_ext/time/zones"
38
39
 
39
40
  # Requires supporting ruby files with custom matchers and macros, etc,
40
41
  # in spec/support/ and its subdirectories.
41
- Dir["#{__dir__}/support/**/*.rb"].each {|f| require f }
42
+ Dir["#{__dir__}/support/**/*.rb"].sort.each {|f| require f }
42
43
 
43
44
  Time.zone = "Tokyo"
44
45
 
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: 1.3.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-16 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 0.53.0.0
103
+ version: 1.0.0.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 0.53.0.0
110
+ version: 1.0.0.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -184,28 +184,70 @@ dependencies:
184
184
  requirements:
185
185
  - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 0.53.0
187
+ version: 1.7.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: 0.53.0
194
+ version: 1.7.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop_auto_corrector
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rubocop-performance
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 1.9.2
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: 1.9.2
223
+ - !ruby/object:Gem::Dependency
224
+ name: rubocop-rake
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '='
228
+ - !ruby/object:Gem::Version
229
+ version: 0.5.1
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '='
235
+ - !ruby/object:Gem::Version
236
+ version: 0.5.1
195
237
  - !ruby/object:Gem::Dependency
196
238
  name: rubocop-rspec
197
239
  requirement: !ruby/object:Gem::Requirement
198
240
  requirements:
199
241
  - - '='
200
242
  - !ruby/object:Gem::Version
201
- version: 1.25.1
243
+ version: 2.1.0
202
244
  type: :development
203
245
  prerelease: false
204
246
  version_requirements: !ruby/object:Gem::Requirement
205
247
  requirements:
206
248
  - - '='
207
249
  - !ruby/object:Gem::Version
208
- version: 1.25.1
250
+ version: 2.1.0
209
251
  - !ruby/object:Gem::Dependency
210
252
  name: rubydoctest
211
253
  requirement: !ruby/object:Gem::Requirement
@@ -297,6 +339,7 @@ files:
297
339
  - config/girls/015_hugtto.yml
298
340
  - config/girls/016_star_twinkle.yml
299
341
  - config/girls/017_healingood.yml
342
+ - config/girls/018_tropical_rouge.yml
300
343
  - config/girls/movie.yml
301
344
  - config/movies.yml
302
345
  - config/series.yml
@@ -339,7 +382,7 @@ metadata:
339
382
  homepage_uri: https://github.com/sue445/rubicure
340
383
  source_code_uri: https://github.com/sue445/rubicure
341
384
  changelog_uri: https://github.com/sue445/rubicure/blob/master/CHANGELOG.md
342
- post_install_message:
385
+ post_install_message:
343
386
  rdoc_options: []
344
387
  require_paths:
345
388
  - lib
@@ -347,15 +390,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
347
390
  requirements:
348
391
  - - ">="
349
392
  - !ruby/object:Gem::Version
350
- version: 2.2.2
393
+ version: '2.4'
351
394
  required_rubygems_version: !ruby/object:Gem::Requirement
352
395
  requirements:
353
396
  - - ">="
354
397
  - !ruby/object:Gem::Version
355
398
  version: '0'
356
399
  requirements: []
357
- rubygems_version: 3.0.6
358
- signing_key:
400
+ rubygems_version: 3.2.3
401
+ signing_key:
359
402
  specification_version: 4
360
403
  summary: All about Japanese battle heroine "Pretty Cure (Precure)".
361
404
  test_files: