Module: Picky::Generators::Similarity

Extended by:
Helpers::Identification
Defined in:
lib/picky/generators/similarity.rb,
lib/picky/generators/similarity/none.rb,
lib/picky/generators/similarity/default.rb,
lib/picky/generators/similarity/soundex.rb,
lib/picky/generators/similarity/phonetic.rb,
lib/picky/generators/similarity/strategy.rb,
lib/picky/generators/similarity/metaphone.rb,
lib/picky/generators/similarity/double_metaphone.rb

Defined Under Namespace

Classes: DoubleMetaphone, Metaphone, None, Phonetic, Soundex, Strategy

Constant Summary collapse

Default =
None.new

Class Method Summary collapse

Methods included from Helpers::Identification

identifier_for

Class Method Details

.from(thing, index_name = nil, category_name = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/picky/generators/similarity.rb', line 8

def self.from thing, index_name = nil, category_name = nil
  return Default unless thing

  if thing.respond_to?(:encode) && thing.respond_to?(:prioritize)
    thing
  else
    raise "Similarity options \#{identifier_for(index_name, category_name)}should be either\n* for example a Similarity::Soundex.new(n), Similarity::Metaphone.new(n), Similarity::DoubleMetaphone.new(n) etc.\nor\n* an object that responds to #encode(text) => encoded_text and #prioritize(array_of_encoded, encoded)\n"
  end
end