Class: InciScore::Recognizer

Inherits:
Object
  • Object
show all
Defined in:
lib/inci_score/recognizer.rb,
lib/inci_score/recognizer_rules.rb

Defined Under Namespace

Modules: Rules Classes: Component

Constant Summary collapse

DEFAULT_RULES =
[Rules::Key, Rules::Levenshtein, Rules::Digits, Rules::Tokens]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ingredient, catalog, rules = DEFAULT_RULES, wrapper = Ingredient) ⇒ Recognizer

Returns a new instance of Recognizer.



11
12
13
14
15
16
# File 'lib/inci_score/recognizer.rb', line 11

def initialize(ingredient, catalog, rules = DEFAULT_RULES, wrapper = Ingredient)
  @ingredient = wrapper.new(ingredient)
  @catalog = catalog
  @rules = rules
  @applied = []
end

Instance Attribute Details

#appliedObject (readonly)

Returns the value of attribute applied.



9
10
11
# File 'lib/inci_score/recognizer.rb', line 9

def applied
  @applied
end

Instance Method Details

#callObject



18
19
20
21
22
23
# File 'lib/inci_score/recognizer.rb', line 18

def call
  return if @ingredient.to_s.empty?
  component = find_component
  return unless component
  Component.new(component, @catalog[component])
end