inci_score 4.1.1 → 4.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,31 @@
1
+ - peg-
2
+ - ppg-
3
+ - dea-
4
+ - mipa-
5
+ - edta-
6
+ - thicone
7
+ - siloxane
8
+ - chlorexidine
9
+ - petrolatum
10
+ - paraffinum liquidum
11
+ - carbomer
12
+ - crosspolymer
13
+ - acrylate
14
+ - styrene
15
+ - copolymer
16
+ - triethanolamine
17
+ - triclosan
18
+ - dmdm
19
+ - hydantoin
20
+ - imidazolidinyl urea
21
+ - diazolidinyl urea
22
+ - formaldheyde
23
+ - methylchloroisothiazolinone
24
+ - methylisothiazolinone
25
+ - sodium hydroxymethylglycinate
26
+ - nonoxynol
27
+ - poloxamer
28
+ - trimonium
29
+ - dimonium
30
+ - glycol
31
+ - glicol
data/ext/levenshtein.c ADDED
@@ -0,0 +1,43 @@
1
+ static int call(const char* word1, int len1, const char* word2, int len2) {
2
+ int matrix[len1 + 1][len2 + 1];
3
+ int i;
4
+ for (i = 0; i <= len1; i++) {
5
+ matrix[i][0] = i;
6
+ }
7
+ for (i = 0; i <= len2; i++) {
8
+ matrix[0][i] = i;
9
+ }
10
+ for (i = 1; i <= len1; i++) {
11
+ int j;
12
+ char c1;
13
+
14
+ c1 = word1[i-1];
15
+ for (j = 1; j <= len2; j++) {
16
+ char c2;
17
+
18
+ c2 = word2[j-1];
19
+ if (c1 == c2) {
20
+ matrix[i][j] = matrix[i-1][j-1];
21
+ }
22
+ else {
23
+ int delete;
24
+ int insert;
25
+ int substitute;
26
+ int minimum;
27
+
28
+ delete = matrix[i-1][j] + 1;
29
+ insert = matrix[i][j-1] + 1;
30
+ substitute = matrix[i-1][j-1] + 1;
31
+ minimum = delete;
32
+ if (insert < minimum) {
33
+ minimum = insert;
34
+ }
35
+ if (substitute < minimum) {
36
+ minimum = substitute;
37
+ }
38
+ matrix[i][j] = minimum;
39
+ }
40
+ }
41
+ }
42
+ return matrix[len1][len2];
43
+ }
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'optparse'
4
- require 'inci_score/computer'
5
4
 
6
5
  module InciScore
7
6
  class CLI
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'inci_score/normalizer_rules'
4
-
5
3
  module InciScore
6
4
  class Normalizer
7
5
  DEFAULT_RULES = [Rules::Replacer, Rules::Downcaser, Rules::Beheader, Rules::Separator, Rules::Tokenizer, Rules::Sanitizer, Rules::Uniquifier].freeze
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "inci_score/recognizer_rules"
4
-
5
3
  module InciScore
6
4
  class Recognizer
7
5
  DEFAULT_RULES = [Rules::Key, Rules::Levenshtein, Rules::Digits, Rules::Hazard, Rules::Tokens].freeze
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'inci_score/refinements'
4
-
5
3
  module InciScore
6
4
  using Refinements
5
+
7
6
  class Recognizer
8
7
  module Rules
9
8
  TOLERANCE = 3
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'inci_score/levenshtein'
4
-
5
3
  module InciScore
6
4
  module Refinements
7
5
  refine(String) do
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'inci_score/score'
4
-
5
3
  module InciScore
6
4
  class Scorer
7
5
  HAZARD_PERCENT = 25
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module InciScore
4
- VERSION = '4.1.1'
4
+ VERSION = '4.1.3'
5
5
  end
data/lib/inci_score.rb CHANGED
@@ -1,10 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'inci_score/ingredient'
4
+ require 'inci_score/normalizer_rules'
4
5
  require 'inci_score/normalizer'
6
+ require 'inci_score/levenshtein'
7
+ require 'inci_score/refinements'
8
+ require "inci_score/recognizer_rules"
5
9
  require 'inci_score/recognizer'
6
10
  require 'inci_score/response'
11
+ require 'inci_score/score'
7
12
  require 'inci_score/scorer'
8
13
  require 'inci_score/version'
9
14
  require 'inci_score/config'
15
+ require 'inci_score/computer'
10
16
  require 'inci_score/cli'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inci_score
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.1
4
+ version: 4.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - costajob
@@ -109,6 +109,9 @@ files:
109
109
  - bin/inci_console
110
110
  - bin/inci_score
111
111
  - bin/setup
112
+ - config/catalog.yml
113
+ - config/hazards.yml
114
+ - ext/levenshtein.c
112
115
  - lib/inci_score.rb
113
116
  - lib/inci_score/cli.rb
114
117
  - lib/inci_score/computer.rb