Class: Rubicure::Seriese

Inherits:
Object
  • Object
show all
Defined in:
lib/rubicure_fuzzy_match.rb

Constant Summary collapse

TITLES =
Precure.map(&:title)
TITLES_DICTIONARY =
Hash[*TITLES.map.with_index { |e, i| [e, i]
FUZZY_TITLES_DICTIONARY =
{
  '初代'               => 0,
  '無印'               => 0,
  'マックスハート'     => 1,
  'スプラッシュスター' => 2,
  'イエス'             => 3,
  '555'                => 4,
  'フレプリ'           => 5,
  'ハト'               => 6,
  'スイプリ'           => 7,
  'スマプリ'           => 8,
  'ドキプリ'           => 9,
  'ドドリア'           => 9,
  'ハチャプリ'         => 10,
  'ゴプリプリ'         => 11,
  '姫プリ'             => 11,
  'まほ'               => 12,
}
FUZZY_MATCHER =
FuzzyMatch.new(TITLES + FUZZY_TITLES_DICTIONARY.keys)

Class Method Summary collapse

Class Method Details

.fuzzy_find(title) ⇒ Object



34
35
36
# File 'lib/rubicure_fuzzy_match.rb', line 34

def self.fuzzy_find(title)
  Precure.select { |e| e.title == regularize(title) }.first
end

.regularize(title) ⇒ Object



29
30
31
32
# File 'lib/rubicure_fuzzy_match.rb', line 29

def self.regularize(title)
  s = FUZZY_MATCHER.find title
  s ? TITLES[TITLES_DICTIONARY[s]] : nil
end