inci_score 4.1.1 → 4.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/catalog.yml +5019 -0
- data/config/hazards.yml +31 -0
- data/ext/levenshtein.c +43 -0
- data/lib/inci_score/cli.rb +0 -1
- data/lib/inci_score/computer.rb +1 -1
- data/lib/inci_score/normalizer.rb +0 -2
- data/lib/inci_score/recognizer.rb +0 -2
- data/lib/inci_score/recognizer_rules.rb +1 -2
- data/lib/inci_score/refinements.rb +0 -2
- data/lib/inci_score/response.rb +3 -3
- data/lib/inci_score/scorer.rb +0 -2
- data/lib/inci_score/version.rb +1 -1
- data/lib/inci_score.rb +6 -0
- metadata +4 -5
- data/bin/inci_console +0 -8
- data/bin/setup +0 -6
data/config/hazards.yml
ADDED
@@ -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
|
+
}
|
data/lib/inci_score/cli.rb
CHANGED
data/lib/inci_score/computer.rb
CHANGED
data/lib/inci_score/response.rb
CHANGED
@@ -16,7 +16,7 @@ module InciScore
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def to_json
|
19
|
-
data = { components: components, unrecognized: unrecognized, score: score, valid: valid, precision: precision }.freeze
|
19
|
+
data = { components: components.map(&:to_h), unrecognized: unrecognized, score: score, valid: valid, precision: precision }.freeze
|
20
20
|
Oj.dump(data, mode: :compat)
|
21
21
|
end
|
22
22
|
|
@@ -29,9 +29,9 @@ VALID STATE:
|
|
29
29
|
PRECISION:
|
30
30
|
\t#{precision}
|
31
31
|
COMPONENTS:
|
32
|
-
#{components.map { |c| "
|
32
|
+
\t#{components.map { |c| "#{c.name} (#{c.hazard})" }.join(', ')}
|
33
33
|
UNRECOGNIZED:
|
34
|
-
|
34
|
+
\t#{unrecognized.join(', ')}
|
35
35
|
}
|
36
36
|
end
|
37
37
|
end
|
data/lib/inci_score/scorer.rb
CHANGED
data/lib/inci_score/version.rb
CHANGED
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.
|
4
|
+
version: 4.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- costajob
|
@@ -98,17 +98,16 @@ description:
|
|
98
98
|
email:
|
99
99
|
- costajob@gmail.com
|
100
100
|
executables:
|
101
|
-
- inci_console
|
102
101
|
- inci_score
|
103
|
-
- setup
|
104
102
|
extensions: []
|
105
103
|
extra_rdoc_files: []
|
106
104
|
files:
|
107
105
|
- LICENSE.txt
|
108
106
|
- README.md
|
109
|
-
- bin/inci_console
|
110
107
|
- bin/inci_score
|
111
|
-
-
|
108
|
+
- config/catalog.yml
|
109
|
+
- config/hazards.yml
|
110
|
+
- ext/levenshtein.c
|
112
111
|
- lib/inci_score.rb
|
113
112
|
- lib/inci_score/cli.rb
|
114
113
|
- lib/inci_score/computer.rb
|
data/bin/inci_console
DELETED