rubicure 1.3.4 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b535dadc86c791e8e1b6cc0a49d74a0f5038b952719c77a9ce0e5794cb275d4
4
- data.tar.gz: fcdcf15055c33f48c339b93bddae49bfe02404d40ce9aff0a4286e8497877ba9
3
+ metadata.gz: 3c3a551cdc708bc0c33bdb7ed6a3662e05b398123bc76eb4253b67948e7c9a20
4
+ data.tar.gz: 51fa3a414b69d741294c90b5db8f92c873f70988366ef14e4a8ee291cf967713
5
5
  SHA512:
6
- metadata.gz: da8b11c1f8570a8cc14b47d184d5b45653f29753c0dbd71943e50d8eb6131808e031542491ef6451afdbafa716aab7fb11b806994a1bcd059f7bff8747471ed9
7
- data.tar.gz: 02f4f4933621cb14bd7d3421638b3db223b85b3b258379a84a6f2f5fad0fa3009d3ae7d18f312e0e8d9c3adde20637188beebe04c7d73ba6897e7378c9581385
6
+ metadata.gz: 2e4326de3394c3471b136daa8afec355bd4cd2fd588b1da6fa97cc5f5f34e803958bf0d79a4599d8159f565557aac52bc5abb07f8d9f0fc89a9520f2077edfd3
7
+ data.tar.gz: b37daa230e65c92a699a0a7eb922f8b6d129139be91f8d99e3242d3c0721809d81637f7d08a6b9c0d995dedeffdc53fbc2b2c5e469ff039b24424a7b438f0199
@@ -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.4...master)
2
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.1.1...master)
3
+
4
+ ## v2.1.1
5
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.1.0...v2.1.1)
6
+
7
+ * Tweak transform message of TropicalRoute Precure
8
+ * https://github.com/sue445/rubicure/pull/253
9
+
10
+ ## v2.1.0
11
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.0.1...v2.1.0)
12
+
13
+ * Add Tropical-Rouge! Precure :ocean:
14
+ * https://github.com/sue445/rubicure/pull/246
15
+
16
+ ## v2.0.1
17
+ [full changelog](http://github.com/sue445/rubicure/compare/v2.0.0...v2.0.1)
18
+
19
+ * Add ended_date of Healingood precure
20
+ * https://github.com/sue445/rubicure/pull/252
21
+
22
+ ## v2.0.0
23
+ [full changelog](http://github.com/sue445/rubicure/compare/v1.3.5...v2.0.0)
24
+
25
+ ### Breaking changes :bomb:
26
+ * Drop support for ruby 2.2 and 2.3
27
+ * https://github.com/sue445/rubicure/pull/249
28
+
29
+ ### Others
30
+ * update rubocop gems
31
+ * https://github.com/sue445/rubicure/pull/250
32
+
33
+ ## v1.3.5
34
+ [full changelog](http://github.com/sue445/rubicure/compare/v1.3.4...v1.3.5)
35
+
36
+ * Impl `Precure.miracle_leap`
37
+ * https://github.com/sue445/rubicure/pull/243
3
38
 
4
39
  ## v1.3.4
5
40
  [full changelog](http://github.com/sue445/rubicure/compare/v1.3.3...v1.3.4)
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/16", "風鈴アスミ"], ["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
- => 35
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
 
@@ -0,0 +1,119 @@
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
+ はぁー!
19
+ 4人揃って!トロピカル~ジュ!プリキュア!
20
+ # extra_names:
21
+ attack_messages:
22
+ - |-
23
+ ハートルージュロッド!
24
+ プリキュア!おてんとサマーストライク!
25
+ ビクトリー!
26
+ transform_calls:
27
+ - precure_tropical_change
28
+ summer:
29
+ <<: *cure_summer
30
+
31
+ cure_coral: &cure_coral
32
+ girl_name: cure_coral
33
+ human_name: 涼村さんご
34
+ precure_name: キュアコーラル
35
+ cast_name: 花守ゆみり
36
+ color: purple
37
+ created_date: 2021-03-14 # episode 3
38
+ birthday: 5/9
39
+ transform_message: |-
40
+ プリキュア!トロピカルチェンジ!
41
+ レッツメイク!キャッチ!
42
+ リップ!
43
+ アイズ!
44
+ ヘアー!
45
+ チーク!
46
+ ドレス!
47
+ きらめく宝石!キュアコーラル!
48
+ はぁー!
49
+ 4人揃って!トロピカル~ジュ!プリキュア!
50
+ # extra_names:
51
+ attack_messages:
52
+ - |-
53
+ ハートルージュロッド!
54
+ プリキュア!もこもこコーラルディフュージョン!
55
+ ビクトリー!
56
+ transform_calls:
57
+ - precure_tropical_change
58
+ coral:
59
+ <<: *cure_coral
60
+
61
+ cure_papaya: &cure_papaya
62
+ girl_name: cure_papaya
63
+ human_name: 一ノ瀬みのり
64
+ precure_name: キュアパパイア
65
+ cast_name: 石川由依
66
+ color: yellow
67
+ created_date: 2021-03-21 # episode 4
68
+ birthday: 11/21
69
+ transform_message: |-
70
+ プリキュア!トロピカルチェンジ!
71
+ レッツメイク!キャッチ!
72
+ チーク!
73
+ リップ!
74
+ ヘアー!
75
+ アイズ!
76
+ ドレス!
77
+ ひらめく果実!キュアパパイア!
78
+ はぁー!
79
+ 4人揃って!トロピカル~ジュ!プリキュア!
80
+ # extra_names:
81
+ attack_messages:
82
+ - |-
83
+ ハートルージュロッド!
84
+ プリキュア!ぱんぱかパパイアショット!
85
+ ビクトリー!
86
+ transform_calls:
87
+ - precure_tropical_change
88
+ papaya:
89
+ <<: *cure_papaya
90
+
91
+ cure_flamingo: &cure_flamingo
92
+ girl_name: cure_flamingo
93
+ human_name: 滝沢あすか
94
+ precure_name: キュアフラミンゴ
95
+ cast_name: 瀬戸麻沙美
96
+ color: red
97
+ created_date: 2021-03-28 # episode 5
98
+ birthday: 10/15
99
+ transform_message: |-
100
+ プリキュア!トロピカルチェンジ!
101
+ レッツメイク!キャッチ!
102
+ チーク!
103
+ アイズ!
104
+ リップ!
105
+ ヘアー!
106
+ ドレス!
107
+ はためく翼!キュアフラミンゴ!
108
+ はぁー!
109
+ 4人揃って!トロピカル~ジュ!プリキュア!
110
+ # extra_names:
111
+ attack_messages:
112
+ - |-
113
+ ハートルージュロッド!
114
+ プリキュア!ぶっとびフラミンゴスマッシュ!
115
+ ビクトリー!
116
+ transform_calls:
117
+ - precure_tropical_change
118
+ flamingo:
119
+ <<: *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.4".freeze
2
+ VERSION = "2.1.1".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.4
4
+ version: 2.1.1
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-04-04 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: