Rubicure (Ruby + Precure)
All about Japanese battle heroine "Pretty Cure (Precure)".
Inspired by Acme::PrettyCure and pycure.
Example
Supporting
see followings
Requirements
- Ruby
- see
spec.required_ruby_version
in rubicure.gemspec
- see
Installation
Add this line to your application's Gemfile:
gem 'rubicure'
# for ruby 2.2
gem 'backport_dig'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rubicure
Usage
>> require "rubicure"
Select own precure series
>> Precure.title
=> "ふたりはプリキュア"
>> Precure.unmarked.title
=> "ふたりはプリキュア"
>> Precure.max_heart.title
=> "ふたりはプリキュア Max Heart"
>> Precure.splash_star.title
=> "ふたりはプリキュア Splash☆Star"
>> Precure.yes.title
=> "Yes! プリキュア5"
>> Precure.yes_gogo.title
=> "Yes! プリキュア5 Go Go!"
>> Precure.fresh.title
=> "フレッシュプリキュア!"
>> Precure.heart_catch.title
=> "ハートキャッチプリキュア!"
>> Precure.suite.title
=> "スイートプリキュア♪"
>> Precure.smile.title
=> "スマイルプリキュア!"
>> Precure.dokidoki.title
=> "ドキドキ!プリキュア"
>> Precure.happiness_charge.title
=> "ハピネスチャージプリキュア!"
>> Precure.go_princess.title
=> "Go!プリンセスプリキュア"
>> Precure.maho_girls.title
=> "魔法つかいプリキュア!"
>> Precure.a_la_mode.title
=> "キラキラ☆プリキュアアラモード"
>> Precure.hugtto.title
=> "HUGっと!プリキュア"
>> Precure.dokidoki
=> {:series_name=>"dokidoki", :title=>"ドキドキ!プリキュア", :started_date=>#<Date: 2013-02-03 ((2456327j,0s,0n),+0s,-Infj)>, :ended_date=>#<Date: 2014-01-26 ((2456684j,0s,0n),+0s,-Infj)>, :girls=>["cure_heart", "cure_diamond", "cure_rosetta", "cure_sword", "cure_ace"]}
other pattern
>> Rubicure::Series.find(:smile).title
=> "スマイルプリキュア!"
and more aliases!
Get current precure series
Precure#now
(alias to #current
) return current precure series
>> Precure.now
=> {:series_name=>"wonderful", :title=>"わんだふるぷりきゅあ!", :started_date=>#<Date: 2024-02-04 ((2460345j,0s,0n),+0s,-Infj)>, :girls=>["cure_wonderful", "cure_friendy", "cure_nyammy", "cure_lillian"]}
# -2013/1/27 : smile precure
# 2013/2/5 - : dokidoki precure
require "delorean"
Delorean.time_travel_to "2013-02-01"
Precure.now
#=> RuntimeError: Not on air precure!
Rubicure::Series#on_air?
>> Precure.dokidoki.on_air?("2013-12-16")
=> true
>> Precure.smile.on_air?("2013-12-16")
=> false
Rubicure::Series#members
>> Precure.smile.members.count
=> 5
>> Precure.smile.members.first
=> {:girl_name=>"cure_happy", :human_name=>"星空みゆき", :precure_name=>"キュアハッピー", :cast_name=>"福圓美里", :created_date=>#<Date: 2012-02-05 ((2455963j,0s,0n),+0s,-Infj)>, :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"]}
>> Precure.smile.members.map(&:human_name)
=> ["星空みゆき", "日野あかね", "黄瀬やよい", "緑川なお", "青木れいか"]
>> Precure.smile.members.map(&:precure_name)
=> ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"]
>> Precure.smile.members.count
=> 5
- Now,
members?
is alias togirls?
. But I'm going to change this behavior in the next major version (v4)- ref. #284
Select own precure girl
>> Cure.lemonade
=> {:girl_name=>"cure_lemonade", :human_name=>"春日野うらら", :precure_name=>"キュアレモネード", :cast_name=>"伊瀬茉莉也", :created_date=>#<Date: 2007-02-18 ((2454150j,0s,0n),+0s,-Infj)>, :color=>"yellow", :transform_message=>"プリキュア!メタモルフォーゼ!\nはじけるレモンの香り、キュアレモネード!\n希望の力と未来の光!\n華麗に羽ばたく5つの心!\nYes!プリキュア5!", :extra_names=>nil, :attack_messages=>["輝く乙女のはじける力、受けてみなさい!\nプリキュア!プリズム・チェーン!"], :transform_calls=>["metamorphose"]}
>> Cure.pine
=> {:girl_name=>"cure_pine", :human_name=>"山吹祈里", :precure_name=>"キュアパイン", :cast_name=>"中川亜紀子", :created_date=>#<Date: 2009-02-15 ((2454878j,0s,0n),+0s,-Infj)>, :color=>"yellow", :transform_message=>"チェインジ!プリキュア・ビートアップ!\nイエローハートは祈りのしるし!\nとれたてフレッシュ、キュアパイン!\nレッツプリキュア!", :extra_names=>["キュアエンジェルパイン"], :attack_messages=>["悪いの悪いの飛んでいけ!\nプリキュア!ヒーリングプレアーフレッシュ!"], :transform_calls=>["change_precure_beat_up", "change", "beat_up"]}
>> Cure.sunshine
=> {:girl_name=>"cure_sunshine", :human_name=>"明堂院いつき", :precure_name=>"キュアサンシャイン", :cast_name=>"桑島法子", :created_date=>#<Date: 2010-07-18 ((2455396j,0s,0n),+0s,-Infj)>, :color=>"yellow", :transform_message=>"(プリキュアの種、いくですぅ!)\nプリキュア!オープンマイハート!\n陽の光浴びる一輪の花! キュアサンシャイン!\nハートキャッチ、プリキュア!", :extra_names=>["スーパーキュアサンシャイン"], :attack_messages=>["花よ、舞い踊れ!\nプリキュア!ゴールドフォルテバースト!!", "花よ、咲き誇れ!\nプリキュア・ハートキャッチ・オーケストラ!!"], :transform_calls=>["open_my_heart"]}
>> Cure.muse
=> {:girl_name=>"cure_muse", :human_name=>"調辺アコ", :precure_name=>"キュアミューズ", :cast_name=>"大久保瑠美", :created_date=>#<Date: 2011-10-16 ((2455851j,0s,0n),+0s,-Infj)>, :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"]}
>> Cure.peace
=> {:girl_name=>"cure_peace", :human_name=>"黄瀬やよい", :precure_name=>"キュアピース", :cast_name=>"金元寿子", :created_date=>#<Date: 2012-02-19 ((2455977j,0s,0n),+0s,-Infj)>, :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"]}
>> Cure.rosetta
=> {:girl_name=>"cure_rosetta", :human_name=>"四葉ありす", :precure_name=>"キュアロゼッタ", :cast_name=>"渕上舞", :created_date=>#<Date: 2013-02-24 ((2456348j,0s,0n),+0s,-Infj)>, :color=>"yellow", :birthday=>"5/28", :transform_message=>"プリキュアラブリンク!\nL! O! V! E!\nひだまりポカポカ キュアロゼッタ!\n響け愛の鼓動!ドキドキプリキュア!\n世界を制するのは愛だけです、\nさぁ、あなたも私と愛を育んでくださいな", :extra_names=>nil, :attack_messages=>["カッチカチの!ロゼッタウォール!"], :transform_calls=>["love_link"]}
>> Cure.honey
=> {:girl_name=>"cure_honey", :human_name=>"大森ゆうこ", :precure_name=>"キュアハニー", :cast_name=>"北川里奈", :created_date=>#<Date: 2014-03-15 ((2456732j,0s,0n),+0s,-Infj)>, :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"]}
>> Shiny.luminous
=> {:girl_name=>"shiny_luminous", :human_name=>"九条ひかり", :precure_name=>"シャイニールミナス", :cast_name=>"田中理恵", :created_date=>#<Date: 2005-03-06 ((2453436j,0s,0n),+0s,-Infj)>, :color=>"yellow", :birthday=>"9/9", :transform_message=>"ルミナス・シャイニングストリーム!\n輝く命、シャイニールミナス!\n光の心と光の意志、すべてを一つにするために!", :extra_names=>nil, :attack_messages=>["光の意志よ!私に勇気を!希望と力を!!\nルミナス・ハーティエル・アンクション!"], :transform_calls=>["shining_stream"]}
>> Milky.rose
=> {:girl_name=>"milky_rose", :human_name=>"美々野くるみ", :precure_name=>"ミルキィローズ", :cast_name=>"仙台エリ", :created_date=>#<Date: 2008-04-06 ((2454563j,0s,0n),+0s,-Infj)>, :color=>"purple", :transform_message=>"スカイローズ・トランスレイト!\n青いバラは秘密のしるし! ミルキィローズ!", :extra_names=>nil, :attack_messages=>["邪悪な力を包み込む\nバラの吹雪を咲かせましょう!\nミルキィローズ・ブリザード!"], :transform_calls=>["sky_rose_translate", "translate"]}
and more aliases!
Rubicure::Girl
# For speed up `rubydoctest README.md`
>> Rubicure::Girl.sleep_sec = 0
# these are same
>> yayoi = Cure.peace
>> yayoi = Precure.smile.girls[2]
>> yayoi.name
=> "黄瀬やよい"
>> yayoi.cast_name
=> "金元寿子"
>> # yayoi.attack!
=> # Rubicure::RequireTransformError: require transform
>> yayoi.transform!
(レディ?)
プリキュア・スマイルチャージ!
(ゴー!ゴー!レッツ・ゴー!ピース!!)
ピカピカピカリンジャンケンポン! キュアピース!
5つの光が導く未来!
輝け!スマイルプリキュア!
# 1st transform
>> yayoi.name
=> "キュアピース"
>> yayoi.attack!
プリキュア!ピースサンダー!!
# 2nd transform
>> yayoi.transform!
>> yayoi.name
=> "プリンセスピース"
>> yayoi.attack!
開け、ロイヤルクロック!
(みんなの力を1つにするクル!)
届け、希望の光!
はばたけ!光り輝く未来へ!
プリキュア!ロイヤルレインボーバースト!
# final transform
>> yayoi.transform!
>> yayoi.name
=> "ウルトラピース"
>> yayoi.attack!
(みんなの力を1つにするクル!)
プリキュア!ミラクルレインボーバースト!
輝けー!!
スマイルプリキュア!!
# back to human
>> yayoi.humanize!
>> yayoi.name
=> "黄瀬やよい"
Specific transform
>> Cure.black.dual_aurora_wave!
デュアル・オーロラ・ウェイブ!!
光の使者、キュアブラック!
ふたりはプリキュア!
闇の力のしもべ達よ!
とっととお家に帰りなさい!
>> Cure.luminous.shining_stream!
ルミナス・シャイニングストリーム!
輝く命、シャイニールミナス!
光の心と光の意志、すべてを一つにするために!
>> Cure.bloom.dual_spiritual_power!
デュアル・スピリチュアル・パワー!
花開け大地に!
輝く金の花! キュアブルーム!
ふたりはプリキュア!
聖なる泉を汚す者よ!
阿漕な真似はお止めなさい!
>> Cure.dream.metamorphose!
プリキュア!メタモルフォーゼ!
大いなる希望の力、キュアドリーム!
希望の力と未来の光!
華麗に羽ばたく5つの心!
Yes!プリキュア5!
>> Milky.rose.sky_rose_translate!
スカイローズ・トランスレイト!
青いバラは秘密のしるし! ミルキィローズ!
>> Cure.peach.change_precure_beat_up!
チェインジ!プリキュア・ビートアップ!
ピンクのハートは愛あるしるし!
もぎたてフレッシュ、キュアピーチ!
レッツプリキュア!
>> Cure.blossom.open_my_heart!
(プリキュアの種、いくですぅ!)
プリキュア!オープンマイハート!
大地に咲く一輪の花! キュアブロッサム!
ハートキャッチ、プリキュア!
>> Cure.melody.lets_play_precure_modulation!
レッツプレイ!プリキュアモジュレーション!!
爪弾くは荒ぶる調べ! キュアメロディ!
届け4人の組曲!スイートプリキュア!
>> Cure.happy.smile_charge!
(レディ?)
プリキュア・スマイルチャージ!
(ゴー!ゴー!レッツ・ゴー!ハッピー!!)
キラキラ輝く未来の光! キュアハッピー!
5つの光が導く未来!
輝け!スマイルプリキュア!
>> Cure.heart.love_link!
プリキュアラブリンク!
L! O! V! E!
みなぎる愛! キュアハート!
響け愛の鼓動!ドキドキプリキュア!
愛を無くした悲しいジコチューさん、
このキュアハートがあなたのドキドキ取り戻してみせる!
>> Cure.ace.dress_up!
プリキュアドレスアップ!
(キュピラッパー!)
愛の切り札! キュアエース!
響け愛の鼓動!ドキドキプリキュア!
美しさは正義の証し、ウインク一つで、
あなたのハートを射抜いて差し上げますわ
>> Cure.lovely.kururin_mirror_change!
(かわルンルン!)
プリキュアくるりんミラーチェンジ!
世界に広がるビッグな愛!キュアラブリー!
ハピネス注入!幸せチャージ!
ハピネスチャージプリキュア!
>> Cure.fortune.kirarin_star_symphony!
(かわルンルン!)
プリキュアきらりんスターシンフォニー!
夜空にきらめく希望の星!キュアフォーチュン!
ハピネス注入!幸せチャージ!
ハピネスチャージプリキュア!
>> Cure.flora.princess_engage!
プリキュア!プリンセスエンゲージ!
咲き誇る花のプリンセス!キュアフローラ!
強く、やさしく、美しく!
Go!プリンセスプリキュア!
冷たい檻に閉ざされた夢、返していただきますわ!
お覚悟はよろしくて?
>> Cure.whip.cure_la_mode_decoration!
キュアラモード・デコレーション!
ショートケーキ!
元気と笑顔を!
レッツ・ラ・まぜまぜ!
キュアホイップ!できあがり!
キラキラ☆プリキュアアラモード!
>> Cure.yell.heart_kiratto!
ミライクリスタル!
ハートキラっと!
は~ぎゅ~~!
ぎゅ~!
ぎゅ~~!
輝く未来を抱きしめて!
みんなを応援!元気のプリキュア!キュアエール!
When Maho Girls PreCure!
>> mirai = Cure.miracle
>> mirai.name
=> "朝日奈みらい"
>> mirai.cure_up_rapapa! :diamond
# or
# mirai.transform! :diamond
キュアップ・ラパパ! ダイヤ!
ミラクル・マジカル・ジュエリーレ!
ふたりの奇跡!キュアミラクル!
魔法つかいプリキュア!!
>> mirai.name
=> "キュアミラクル(ダイヤスタイル)"
>> mirai.attack!
リンクルステッキ!
ダイヤ!永遠の輝きを私達の手に!
フルフルリンクル!
プリキュア!ダイヤモンドエターナル!
>> mirai.humanize!
>> mirai.name
=> "朝日奈みらい"
>> mirai.cure_up_rapapa! :ruby
# or
# mirai.transform! :ruby
キュアップ・ラパパ! ルビー!
ミラクル・マジカル・ジュエリーレ!
ふたりの奇跡!キュアミラクル!
魔法つかいプリキュア!!
>> mirai.name
=> "キュアミラクル(ルビースタイル)"
>> mirai.attack!
リンクルステッキ!
ルビー!紅の情熱よ私達の手に!
フルフルリンクル!
プリキュア!ルビーパッショナーレ!
In Tropical Rouge Precure's #transform!
(a.k.a. #precure_tropical_change!
), the transformation message will be randomized as in the original work.
Example
full_name
When Rubicure::Girl
has human_full_name
(i.e. another human_name
), she returns as #full_name
>> Cure.princess.human_name
=> "白雪ひめ"
>> Cure.princess.full_name
=> "ヒメルダ・ウインドウ・キュアクイーン・オブ・ザ・ブルースカイ"
>> Cure.scarlet.human_name
=> "紅城トワ"
>> Cure.scarlet.full_name
=> "プリンセス・ホープ・ディライト・トワ"
#full_name
returns #human_name
when she doe's not have human_full_name
>> Cure.miracle.human_name
=> "朝日奈みらい"
>> Cure.miracle.full_name
=> "朝日奈みらい"
Precure allstars
>> Precure.all_stars.count
>> Precure.all_stars.map(&:precure_name)
# returns current precure count and names
>> Precure.all_stars.include?(Cure.echo)
=> false
>> Precure.all_stars("2013-10-26").count
=> 33
>> Precure.all_stars(:dx).count
=> 14
>> Precure.all_stars(:dx2).count
=> 17
>> Precure.all_stars(:dx3).count
=> 21
>> Precure.all_stars(:new_stage).count
=> 29
>> Precure.all_stars(:new_stage).include?(Cure.echo)
=> true
>> Precure.all_stars(:new_stage2).count
=> 32
>> Precure.all_stars(:new_stage3).count
=> 37
>> Precure.all_stars(:new_stage3).include?(Cure.echo)
=> true
>> Precure.all_stars(:spring_carnival).count
=> 40
>> Precure.all_stars(:sing_together_miracle_magic).count
=> 44
>> Precure.all_stars(:sing_together_miracle_magic).include?(Cure.echo)
=> true
>> Precure.all_stars(:memories).count
=> 55
>> Precure.all_stars(:f).count
=> 78
>> Precure.all_stars(:f).include?(Cure.echo)
=> false
and more aliases!
Precure.all_members
(a.k.a. Precure.all
)
>> Precure.all_members.count
>> Precure.all_members.map(&:precure_name)
# returns current precure count and names
>> Precure.all_members("2013-10-26").count
=> 34
>> Precure.all_members.include?(Cure.echo)
=> true
- Now,
Precure.all_members?
is alias toPrecure.all_girls?
. But I'm going to change this behavior in the next major version (v4)- ref. #284
Precure.all_members
vs Precure.all_stars
-
Precure.all_members
returns all precure. (includes "Kirakira Precure Alamode") -
Precure.all_members
returns only from "Futari wa Pretty Cure" to "Maho Girls PreCure"
Precure.dream_stars
>> Precure.dream_stars.count
=> 12
>> Precure.dream_stars.map(&:precure_name)
=> ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット", "キュアミラクル", "キュアマジカル", "キュアフェリーチェ", "キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ"]
Precure.super_stars
>> Precure.super_stars.count
=> 12
>> Precure.super_stars.map(&:precure_name)
=> ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ", "キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ", "キュアエール", "キュアアンジュ", "キュアエトワール"]
Precure.miracle_universe
>> Precure.miracle_universe.count
=> 15
>> Precure.miracle_universe.map(&:precure_name)
=> ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ", "キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール", "キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ"]
Precure.miracle_leap
>> Precure.miracle_leap.count
=> 13
>> Precure.miracle_leap.map(&:precure_name)
=> ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール", "キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ", "キュアグレース", "キュアフォンテーヌ", "キュアスパークル"]
Equivalence
>> yayoi = Cure.peace.dup
>> cure_peace = Cure.peace.dup.transform!
>> yayoi == cure_peace
=> true
precure = Rubicure::Girl.find(:passion)
case precure
when Precure.dokidoki
puts "The girl is a member of Dokidoki! Precure"
when Precure.fresh
puts "The girl is a member of Fresh Precure!"
else
puts "The girl is not which member of Dokidoki! Precure and Fresh Precure!"
end
Pikarin janken
Cure.peace.pikarin_janken
ピカピカピカリン
ジャンケンポン!
(パー)
#=> "ピカピカピカリン\nジャンケンポン!\n(パー)\n"
Cure.peace.janken
ピカピカピカリン
ジャンケンポン!
(グー)
#=> "ピカピカピカリン\nジャンケンポン!\n(グー)\n"
one-liner
§ ruby -rubicure -e'puts Shiny.luminous.transform_message'
Enumerable
>> Precure.each{|series| puts series.title }
ふたりはプリキュア
ふたりはプリキュア Max Heart
ふたりはプリキュア Splash☆Star
Yes! プリキュア5
Yes! プリキュア5 Go Go!
フレッシュプリキュア!
ハートキャッチプリキュア!
スイートプリキュア♪
スマイルプリキュア!
ドキドキ!プリキュア
ハピネスチャージプリキュア!
Go!プリンセスプリキュア
魔法つかいプリキュア!
キラキラ☆プリキュアアラモード
HUGっと!プリキュア
スター☆トゥインクルプリキュア
ヒーリングっど♥プリキュア
トロピカル~ジュ!プリキュア
デリシャスパーティ♡プリキュア
ひろがるスカイ!プリキュア
わんだふるぷりきゅあ!
=> [: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, :hirogaru_sky, :wonderful]
>> Precure.inject([]){|girl_count_of_series, series| girl_count_of_series << series.girls.count; girl_count_of_series }
=> [2, 3, 2, 5, 6, 4, 4, 4, 5, 5, 4, 4, 3, 6, 5, 5, 4, 5, 4, 5, 4]
>> Precure.map(&:title)
=> ["ふたりはプリキュア", "ふたりはプリキュア Max Heart", "ふたりはプリキュア Splash☆Star", "Yes! プリキュア5", "Yes! プリキュア5 Go Go!", "フレッシュプリキュア!", "ハートキャッチプリキュア!", "スイートプリキュア♪", "スマイルプリキュア!", "ドキドキ!プリキュア", "ハピネスチャージプリキュア!", "Go!プリンセスプリキュア", "魔法つかいプリキュア!", "キラキラ☆プリキュアアラモード", "HUGっと!プリキュア", "スター☆トゥインクルプリキュア", "ヒーリングっど♥プリキュア", "トロピカル~ジュ!プリキュア", "デリシャスパーティ♡プリキュア", "ひろがるスカイ!プリキュア", "わんだふるぷりきゅあ!"]
>> Precure.happiness_charge.map(&:precure_name)
=> ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"]
>> Precure.map{|series| series.map(&:precure_name) }
=> [["キュアブラック", "キュアホワイト"], ["キュアブラック", "キュアホワイト", "シャイニールミナス"], ["キュアブルーム", "キュアイーグレット"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア"], ["キュアドリーム", "キュアルージュ", "キュアレモネード", "キュアミント", "キュアアクア", "ミルキィローズ"], ["キュアピーチ", "キュアベリー", "キュアパイン", "キュアパッション"], ["キュアブロッサム", "キュアマリン", "キュアサンシャイン", "キュアムーンライト"], ["キュアメロディ", "キュアリズム", "キュアビート", "キュアミューズ"], ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"], ["キュアハート", "キュアダイヤモンド", "キュアロゼッタ", "キュアソード", "キュアエース"], ["キュアラブリー", "キュアプリンセス", "キュアハニー", "キュアフォーチュン"], ["キュアフローラ", "キュアマーメイド", "キュアトゥインクル", "キュアスカーレット"], ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ"], ["キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ"], ["キュアエール", "キュアアンジュ", "キュアエトワール", "キュアマシェリ", "キュアアムール"], ["キュアスター", "キュアミルキー", "キュアソレイユ", "キュアセレーネ", "キュアコスモ"], ["キュアグレース", "キュアフォンテーヌ", "キュアスパークル", "キュアアース"], ["キュアサマー", "キュアコーラル", "キュアパパイア", "キュアフラミンゴ", "キュアラメール"], ["キュアプレシャス", "キュアスパイシー", "キュアヤムヤム", "キュアフィナーレ"], ["キュアスカイ", "キュアプリズム", "キュアウィング", "キュアバタフライ", "キュアマジェスティ"], ["キュアワンダフル", "キュアフレンディ", "キュアニャミー", "キュアリリアン"]]
Not operator
!Cure.passion
>> passion = Cure.passion
>> passion.name
=> "東せつな"
>> !passion
>> passion.name
=> "イース"
!Cure.beat
>> beat = Cure.beat
>> beat.name
=> "黒川エレン"
>> !beat
>> beat.name
=> "セイレーン"
!Cure.scarlet
>> scarlet = Cure.scarlet
>> scarlet.name
=> "紅城トワ"
>> !scarlet
>> scarlet.name
=> "トワイライト"
!Cure.finale
>> finale = Cure.finale
>> finale.name
=> "菓彩あまね"
>> !finale
>> finale.name
=> "ジェントルー"
Cure.cosmo.transform!(:rainbow_perfume)
Cure.cosmo.transform!(:rainbow_perfume)
レインボーパフュームいくニャン!
Cure.cosmo.name
#=> one of "マオ", "ブルーキャット" or "バケニャーン"
Color methods
>> Cure.peace.color
=> "yellow"
>> Cure.happy.color
=> "pink"
>> Cure.peace.yellow?
=> true
>> Cure.peace.pink?
=> false
>> Cure.happy.pink?
=> true
>> Rubicure::Girl.colors
=> [:black, :blue, :gold, :green, :orange, :pink, :purple, :rainbow, :red, :white, :yellow]
>> Precure.all_girls.select(&:pink?).map(&:precure_name)
=> ["キュアブルーム", "キュアドリーム", "キュアピーチ", "キュアブロッサム", "キュアメロディ", "キュアハッピー", "キュアハート", "キュアラブリー", "キュアフローラ", "キュアミラクル", "キュアホイップ", "キュアエール", "キュアスター", "キュアグレース", "キュアプレシャス", "キュアバタフライ", "キュアワンダフル"]
>> Precure.all_girls.select(&:yellow?).map(&:precure_name)
=> ["シャイニールミナス", "キュアレモネード", "キュアパイン", "キュアサンシャイン", "キュアミューズ", "キュアピース", "キュアロゼッタ", "キュアハニー", "キュアトゥインクル", "キュアカスタード", "キュアエトワール", "キュアソレイユ", "キュアスパークル", "キュアパパイア", "キュアヤムヤム"]
>> Precure.all_girls.group_by{ |girl| girl.color }.map{ |color, girls| [color, girls.count] }.sort_by{ |color, girl_count| [girl_count, color] }.reverse
=> [["pink", 17], ["yellow", 15], ["blue", 15], ["purple", 12], ["red", 8], ["white", 6], ["green", 5], ["rainbow", 2], ["orange", 1], ["gold", 1], ["black", 1]]
birthday methods
>> Cure.peace.have_birthday?
=> false
>> Cure.twinkle.has_birthday?
=> true
>> Cure.twinkle.birthday
=> "9/12"
>> require "delorean"
>> Delorean.time_travel_to "2015-11-24"
>> Date.today
=> #<Date: 2015-11-24 ((2457351j,0s,0n),+0s,2299161j)>
>> Cure.twinkle.birthday?
=> false
>> Delorean.back_to_the_present
>> Cure.twinkle.birthday?(Date.parse("2015-9-12"))
=> true
>> Precure.all_girls.select(&:have_birthday?).map(&:human_name)
=> ["美墨なぎさ", "雪城ほのか", "九条ひかり", "日向咲", "美翔舞", "相田マナ", "菱川六花", "四葉ありす", "剣崎真琴", "春野はるか", "海藤みなみ", "天ノ川きらら", "紅城トワ", "朝日奈みらい", "十六夜リコ", "宇佐美いちか", "有栖川ひまり", "立神あおい", "琴爪ゆかり", "剣城あきら", "キラ星シエル", "野乃はな", "薬師寺さあや", "輝木ほまれ", "愛崎えみる", "ルールー・アムール", "星奈ひかる", "羽衣ララ", "天宮えれな", "香久矢まどか", "ユニ", "花寺のどか", "沢泉ちゆ", "平光ひなた", "風鈴アスミ", "夏海まなつ", "涼村さんご", "一ノ瀬みのり", "滝沢あすか", "ローラ・ラメール", "和実ゆい", "芙羽ここね", "華満らん", "菓彩あまね", "ソラ・ハレワタール", "虹ヶ丘ましろ", "夕凪ツバサ", "聖あげは", "プリンセス・エル", "犬飼こむぎ", "犬飼いろは", "猫屋敷ユキ", "猫屋敷まゆ"]
>> Precure.all_girls.select(&:have_birthday?).sort_by { |girl| [Date.parse(girl.birthday), girl.human_name] }.map{ |girl| [girl.birthday, girl.human_name] }
=> [["1/7", "宇佐美いちか"], ["1/20", "野乃はな"], ["3/9", "花寺のどか"], ["3/12", "プリンセス・エル"], ["3/13", "芙羽ここね"], ["4/4", "雪城ほのか"], ["4/8", "輝木ほまれ"], ["4/10", "春野はるか"], ["4/12", "星奈ひかる"], ["4/16", "有栖川ひまり"], ["5/9", "涼村さんご"], ["5/13", "犬飼こむぎ"], ["5/21", "夕凪ツバサ"], ["5/28", "四葉ありす"], ["6/10", "薬師寺さあや"], ["6/11", "琴爪ゆかり"], ["6/12", "朝日奈みらい"], ["6/30", "ローラ・ラメール"], ["7/7", "羽衣ララ"], ["7/11", "華満らん"], ["7/15", "愛崎えみる"], ["7/16", "虹ヶ丘ましろ"], ["7/20", "海藤みなみ"], ["7/30", "キラ星シエル"], ["8/1", "夏海まなつ"], ["8/4", "相田マナ"], ["8/7", "日向咲"], ["8/7", "犬飼いろは"], ["8/8", "聖あげは"], ["8/16", "風鈴アスミ"], ["8/21", "沢泉ちゆ"], ["8/27", "立神あおい"], ["8/31", "和実ゆい"], ["9/8", "天宮えれな"], ["9/9", "九条ひかり"], ["9/12", "天ノ川きらら"], ["9/17", "菱川六花"], ["9/20", "ソラ・ハレワタール"], ["9/23", "ルールー・アムール"], ["9/24", "剣城あきら"], ["10/4", "平光ひなた"], ["10/10", "美墨なぎさ"], ["10/11", "ユニ"], ["10/15", "滝沢あすか"], ["11/4", "剣崎真琴"], ["11/5", "猫屋敷まゆ"], ["11/12", "十六夜リコ"], ["11/20", "美翔舞"], ["11/21", "一ノ瀬みのり"], ["11/23", "香久矢まどか"], ["11/24", "菓彩あまね"], ["12/15", "紅城トワ"], ["12/21", "猫屋敷ユキ"]]
>> Precure.all_girls.select(&:have_birthday?).map(&:human_name).count
=> 53
-
has_birthday?
is alias tohave_birthday?
Rubicure::Girl#heisei?
and Rubicure::Girl#reiwa?
>> Cure.star.heisei?
=> true
>> Cure.star.reiwa?
=> false
>> Cure.cosmo.heisei?
=> false
>> Cure.cosmo.reiwa?
=> true
Rubicure::Series#heisei?
and Rubicure::Series#reiwa?
>> Precure.hugtto.heisei?
=> true
>> Precure.hugtto.reiwa?
=> false
>> Precure.star_twinkle.heisei?
=> true
>> Precure.star_twinkle.reiwa?
=> true
More reference
http://sue445.github.io/rubicure/
Versioning Policy
rubicure
uses Semantic Cure Versioning ❤️
- Patch version up
- e.g.
1.1.1
->1.1.2
- Containing bugfix
- e.g.
- Minor version up
- e.g.
1.1.1
->1.2.0
- Addition of Precure series
- Not containing only addition features 😘
- e.g.
- Major version up
- e.g.
1.1.1
->2.0.0
- Containing breaking changes
- e.g.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Run test (
bundle exec rake test
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request