All about Japanese battle heroine "Pretty Cure (Precure)"
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
examples
lib
spec
.coveralls.yml Setup for coveralls Dec 15, 2013
.gitignore
.rspec
.rubocop.yml
.travis.yml Suspress codeclimate timeout error Aug 18, 2018
.yardopts
CHANGELOG.md
Gemfile
LICENSE.txt
README.md
Rakefile
rubicure.gemspec

README.md

Rubicure (Ruby + Precure)

Gem Version Build Status Code Climate Coverage Status Inline docs

All about Japanese battle heroine "Pretty Cure (Precure)".

Inspired by Acme::PrettyCure and pycure.

Stories in Ready

Example

maho_girls

examples/maho_girls.rb

Supporting

see followings

Requirements

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=>Sun, 03 Feb 2013, :ended_date=>Sun, 26 Jan 2014, :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=>"hugtto", :title=>"HUGっと!プリキュア", :started_date=>Sun, 04 Feb 2018, :girls=>["cure_yell", "cure_ange", "cure_etoile", "cure_macherie", "cure_amour"]}

>> Precure.current
=> {:series_name=>"hugtto", :title=>"HUGっと!プリキュア", :started_date=>Sun, 04 Feb 2018, :girls=>["cure_yell", "cure_ange", "cure_etoile", "cure_macherie", "cure_amour"]}

# -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#girls

>> Precure.smile.girls.count
=> 5

>> Precure.smile.girls.first
=> {: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"]}

>> Precure.smile.girls.map(&:human_name)
=> ["星空みゆき", "日野あかね", "黄瀬やよい", "緑川なお", "青木れいか"]

>> Precure.smile.girls.map(&:precure_name)
=> ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"]

>> Precure.smile.girls.count
=> 5

Select own precure girl

>> Cure.lemonade
=> {: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"]}

>> Cure.pine
=> {: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"]}

>> Cure.sunshine
=> {: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"]}

>> Cure.muse
=> {: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"]}

>> Cure.peace
=> {: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"]}

>> Cure.rosetta
=> {: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"]}

>> Cure.honey
=> {: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"]}

>> Shiny.luminous
=> {: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"]}

>> Milky.rose
=> {: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"]}

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!
リンクルステッキ!
ルビー!紅の情熱よ私達の手に!
フルフルリンクル!
プリキュア!ルビーパッショナーレ!

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

and more aliases!

Precure.all_girls (a.k.a. Precure.all)

>> Precure.all_girls.count
>> Precure.all_girls.map(&:precure_name)
# returns current precure count and names

>> Precure.all_girls("2013-10-26").count
=> 34

>> Precure.all_girls.include?(Cure.echo)
=> true

Precure.all_girls vs Precure.all_stars

  • Precure.all_girls returns all precure. (includes "Kirakira Precure Alamode")
  • Precure.all_stars 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)
=> ["キュアミラクル", "キュアマジカル", "キュアフェリーチェ", "キュアホイップ", "キュアカスタード", "キュアジェラート", "キュアマカロン", "キュアショコラ", "キュアパルフェ", "キュアエール", "キュアアンジュ", "キュアエトワール"]

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
ふたりはプリキュア SplashStar
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]

>> 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]

>> 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

>> passion = Cure.passion
>> passion.name
=> "東せつな"

>> !passion

>> passion.name
=> "イース"
>> beat = Cure.beat

>> beat.name
=> "黒川エレン"

>> !beat

>> beat.name
=> "セイレーン"
>> scarlet = Cure.scarlet
>> scarlet.name
=> "紅城トワ"

>> !scarlet

>> scarlet.name
=> "トワイライト"

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, :green, :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 }.reverse
=> [["pink", 12], ["blue", 11], ["yellow", 11], ["red", 7], ["purple", 6], ["white", 4], ["green", 3], ["rainbow", 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
=> Tue, 24 Nov 2015
>> 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) }.map{ |girl| [girl.birthday, girl.human_name]  }
=> [["1/7", "宇佐美いちか"], ["1/20", "野乃はな"], ["4/4", "雪城ほのか"], ["4/8", "輝木ほまれ"], ["4/10", "春野はるか"], ["4/16", "有栖川ひまり"], ["5/28", "四葉ありす"], ["6/10", "薬師寺さあや"], ["6/11", "琴爪ゆかり"], ["6/12", "朝日奈みらい"], ["7/15", "愛崎えみる"], ["7/20", "海藤みなみ"], ["7/30", "キラ星シエル"], ["8/4", "相田マナ"], ["8/7", "日向咲"], ["8/27", "立神あおい"], ["9/9", "九条ひかり"], ["9/12", "天ノ川きらら"], ["9/17", "菱川六花"], ["9/23", "ルールー・アムール"], ["9/24", "剣城あきら"], ["10/10", "美墨なぎさ"], ["11/4", "剣崎真琴"], ["11/12", "十六夜リコ"], ["11/20", "美翔舞"], ["12/15", "紅城トワ"]]

>> Precure.all_girls.select(&:have_birthday?).map(&:human_name).count
=> 26
  • has_birthday? is alias to have_birthday?

More reference

http://rubydoc.info/gems/rubicure/frames

API Server is available!

https://rubicure.herokuapp.com/

$ curl -s https://rubicure.herokuapp.com/series/go_princess.json | jq .
{
  "series_name": "go_princess",
  "title": "Go!プリンセスプリキュア",
  "started_date": "2015-02-01",
  "girls": [
    "cure_flora",
    "cure_mermaid",
    "cure_twinkle",
    "cure_scarlet"
  ]
}

$ curl -s https://rubicure.herokuapp.com/girls/cure_twinkle.json | jq .
{
  "girl_name": "cure_twinkle",
  "human_name": "天ノ川きらら",
  "precure_name": "キュアトゥインクル",
  "cast_name": "山村響",
  "color": "yellow",
  "created_date": "2015-02-22",
  "transform_message": "プリキュア!プリンセスエンゲージ!\nきらめく星のプリンセス!キュアトゥインクル!\n強く、やさしく、美しく!\nGo!プリンセスプリキュア!\n冷たい檻に閉ざされた夢、返していただきますわ!\nお覚悟はよろしくて?",
  "extra_names": null,
  "attack_messages": [
    "エクスチェンジ!モードエレガント!\nキラキラ、星よ!プリキュア・トゥインクル・ハミング!\n(ドリーミング)\nごきげんよう\n"
  ],
  "transform_calls": [
    "princess_engage"
  ]
}

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request