oddb2xml 2.4.0 → 2.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/oddb2xml/parslet_compositions.rb +7 -4
- data/lib/oddb2xml/version.rb +1 -1
- data/oddb2xml.gemspec +1 -1
- data/spec/downloader_spec.rb +0 -2
- data/spec/parslet_spec.rb +14 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e9bbe51b5e926b39ac2d60f3131cf854703eac9
|
4
|
+
data.tar.gz: 27cd61843652cc26ce542615055bd39cd41a0cb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b0b479e5d411f4606bb6ce812d08fa772c35b768c1917cccc1eb2efb00eddb5ab1e8cb00757793bf7a1eb1ca9327810185b2a5d13cdfb422783e6ad8693889e
|
7
|
+
data.tar.gz: 4e98bd8c9dac033feca963ce14a9259d4cddde04952a69ff600262ebde59f6583862f44b8c2bf152af0508c814adbbf77b2a1eee218b7bbfc23ac46eb5f8cc5e
|
@@ -68,18 +68,21 @@ module ParseUtil
|
|
68
68
|
active_agents = active_agents_string ? active_agents_string.downcase.split(/,\s+/) : []
|
69
69
|
comps = []
|
70
70
|
lines = composition_text.gsub(/\r\n?/u, "\n").split(/\n/u)
|
71
|
-
lines.select
|
71
|
+
lines.select do
|
72
72
|
|line|
|
73
73
|
composition = ParseComposition.from_string(line)
|
74
74
|
if composition.is_a?(ParseComposition)
|
75
|
-
composition.substances.each
|
75
|
+
composition.substances.each do
|
76
76
|
|substance_item|
|
77
77
|
substance_item.is_active_agent = (active_agents.find {|x| x.downcase.eql?(substance_item.name.downcase) } != nil)
|
78
78
|
substance_item.is_active_agent = true if substance_item.chemical_substance and active_agents.find {|x| x.downcase.eql?(substance_item.chemical_substance.name.downcase) }
|
79
|
-
|
79
|
+
# next line is an ugly hack for 24 entries with names containing commas between brackets, eg.
|
80
|
+
# globulina equina (immunisé avec coeur, tissu pulmonaire, reins de porcins)
|
81
|
+
substance_item.is_active_agent = true if /globulina equina/.match(substance_item.name.downcase)
|
82
|
+
end
|
80
83
|
comps << composition
|
81
84
|
end
|
82
|
-
|
85
|
+
end
|
83
86
|
comps << ParseComposition.new(composition_text.split(/,|:|\(/)[0]) if comps.size == 0
|
84
87
|
comps
|
85
88
|
end
|
data/lib/oddb2xml/version.rb
CHANGED
data/oddb2xml.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.description = "oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic."
|
12
12
|
spec.summary = "oddb2xml creates xml files."
|
13
13
|
spec.homepage = "https://github.com/zdavatz/oddb2xml"
|
14
|
-
spec.license = "GPL-
|
14
|
+
spec.license = "GPL-3.0"
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
16
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
data/spec/downloader_spec.rb
CHANGED
@@ -558,12 +558,10 @@ describe Oddb2xml::MedregbmDownloader do
|
|
558
558
|
@downloader.download
|
559
559
|
}
|
560
560
|
it 'should return valid String' do
|
561
|
-
pending 'Should handle SSL issues'
|
562
561
|
expect(txt).to be_a String
|
563
562
|
expect(txt.bytes).not_to be nil
|
564
563
|
end
|
565
564
|
it 'should clean up current directory' do
|
566
|
-
pending 'Should handle SSL issues'
|
567
565
|
expect { txt }.not_to raise_error
|
568
566
|
expect(File.exist?('oddb_person.xls')).to eq(false)
|
569
567
|
end
|
data/spec/parslet_spec.rb
CHANGED
@@ -709,11 +709,24 @@ describe ParseComposition do
|
|
709
709
|
|
710
710
|
context "should parse a complex composition" do
|
711
711
|
string = 'globulina equina (immunisé avec coeur) 8 mg'
|
712
|
+
composition = ParseUtil.parse_compositions(string).first
|
713
|
+
specify { expect(composition.substances.size).to eq 1 }
|
714
|
+
globulina = composition.substances.find{ |x| /globulina/i.match(x.name) }
|
715
|
+
specify { expect(globulina.name).to eq 'Globulina Equina (immunisé Avec Coeur)' }
|
716
|
+
specify { expect(globulina.is_active_agent).to eq true }
|
717
|
+
specify { expect(globulina.qty).to eq 8 }
|
718
|
+
specify { expect(globulina.unit).to eq 'mg' }
|
719
|
+
end
|
720
|
+
|
721
|
+
context "should parse globulina equina (immunise" do
|
712
722
|
string = 'globulina equina (immunisé avec coeur, tissu pulmonaire, reins de porcins) 8 mg'
|
713
|
-
composition =
|
723
|
+
composition = ParseUtil.parse_compositions(string).first
|
714
724
|
specify { expect(composition.substances.size).to eq 1 }
|
715
725
|
globulina = composition.substances.find{ |x| /globulina/i.match(x.name) }
|
716
726
|
specify { expect(globulina.name).to eq 'Globulina Equina (immunisé Avec Coeur, Tissu Pulmonaire, Reins De Porcins)' }
|
727
|
+
specify { expect(globulina.is_active_agent).to eq true }
|
728
|
+
specify { expect(globulina.qty).to eq 8 }
|
729
|
+
specify { expect(globulina.unit).to eq 'mg' }
|
717
730
|
end
|
718
731
|
|
719
732
|
context "should return correct composition for containing '(acarus siro)" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oddb2xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -368,7 +368,7 @@ files:
|
|
368
368
|
- tools/win_fetch_cacerts.rb
|
369
369
|
homepage: https://github.com/zdavatz/oddb2xml
|
370
370
|
licenses:
|
371
|
-
- GPL-
|
371
|
+
- GPL-3.0
|
372
372
|
metadata: {}
|
373
373
|
post_install_message:
|
374
374
|
rdoc_options: []
|