Module: InciScore::Recognizer::Rules::Tokens

Extended by:
Tokens
Included in:
Tokens
Defined in:
lib/inci_score/recognizer_rules.rb

Constant Summary collapse

UNMATCHABLE =
%w[extract oil sodium acid sulfate]

Instance Method Summary collapse

Instance Method Details

#call(src, catalog) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/inci_score/recognizer_rules.rb', line 59

def call(src, catalog)
  tokens(src).each do |token|
    catalog.each do |component, _| 
      return component if component.include?(token)
    end
  end
  nil
end

#tokens(src) ⇒ Object



68
69
70
# File 'lib/inci_score/recognizer_rules.rb', line 68

def tokens(src)
  (src.split(" ") - UNMATCHABLE).reject { |t| t.size < TOLERANCE }.sort! { |a, b| b.size <=> a.size }
end