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,
  '555'                            => 4,
  'フレプリ'                       => 5,
  'ハト'                           => 6,
  'スイプリ'                       => 7,
  'スマプリ'                       => 8,
  'ドキプリ'                       => 9,
  'ドドリア'                       => 9,
  'ハチャプリ'                     => 10,
  'ゴプリプリ'                     => 11,
  '姫プリ'                         => 11,
}
FUZZY_MATCHER =
FuzzyMatch.new(TITLES + FUZZY_TITLES_DICTIONARY.keys)

Class Method Summary collapse

Class Method Details

.fuzzy_find(title) ⇒ Object



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

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

.regularize(title) ⇒ Object



25
26
27
28
# File 'lib/rubicure_fuzzy_match.rb', line 25

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