oddb2xml 2.9.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,8 @@ module Oddb2xml
22
22
  opt :extended, "pharma, non-pharma plus prices and non-pharma from zurrose.
23
23
  Products without EAN-Code will also be listed.
24
24
  File oddb_calc.xml will also be generated"
25
+ opt :fhir, "Use FHIR NDJSON format from FOPH/BAG instead of XML from Spezialitätenliste", default: false
26
+ opt :fhir_url, "Specific FHIR NDJSON URL to download (implies --fhir)", type: :string, default: nil
25
27
  opt :format, "File format F, default is xml. {xml|dat}
26
28
  If F is given, -o option is ignored.", type: :string, default: "xml"
27
29
  opt :include, "Include target option for ean14 for 'dat' format.
@@ -69,6 +71,10 @@ module Oddb2xml
69
71
  @opts[:extended] = true
70
72
  @opts[:price] = :zurrose
71
73
  end
74
+ # FHIR URL implies FHIR mode
75
+ if @opts[:fhir_url]
76
+ @opts[:fhir] = true
77
+ end
72
78
  @opts[:price] = :zurrose if @opts[:price].is_a?(TrueClass)
73
79
  @opts[:price] = @opts[:price].to_sym if @opts[:price]
74
80
  @opts[:ean14] = @opts[:include]
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "2.9.9"
2
+ VERSION = "3.0.1"
3
3
  end
data/lib/oddb2xml.rb CHANGED
@@ -1,5 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "oddb2xml/version"
4
+ require "oddb2xml/util"
5
+ require "oddb2xml/options"
6
+ require "oddb2xml/downloader"
7
+ require "oddb2xml/xml_definitions"
8
+ require "oddb2xml/extractor"
9
+ require "oddb2xml/builder"
10
+ require "oddb2xml/fhir_support"
2
11
  require "oddb2xml/cli"
3
12
 
4
13
  module Oddb2xml
14
+ class Error < StandardError; end
5
15
  end
data/oddb2xml.gemspec CHANGED
@@ -20,32 +20,32 @@ Gem::Specification.new do |spec|
20
20
  # We fix the version of the spec to newer versions only in the third position
21
21
  # hoping that these version fix only security/severe bugs
22
22
  # Consulted the Gemfile.lock to get
23
- spec.add_dependency "rubyzip" # , '~> 1.1.3'
23
+ spec.add_dependency "rubyzip", '~> 3.0.1'
24
24
  spec.add_dependency "minitar" # , '~> 0.5.2'
25
- spec.add_dependency "mechanize" # , '~> 2.5.1'
26
- spec.add_dependency "nokogiri", ">= 1.8.2"
25
+ spec.add_dependency "mechanize", ">= 2.8.5"
26
+ spec.add_dependency "nokogiri", ">= 1.19.1"
27
27
  spec.add_dependency "savon" , '~> 2.12.0'
28
28
  spec.add_dependency "spreadsheet" # , '~> 1.0.0'
29
29
  spec.add_dependency "rubyXL", "~> 3.4.0"
30
30
  spec.add_dependency "sax-machine" # , '~> 0.1.0'
31
31
  spec.add_dependency "parslet" # , '~> 1.7.0'
32
- spec.add_dependency "rubyntlm", "0.5.1"
32
+ spec.add_dependency "rubyntlm", ">= 0.6.3"
33
33
  spec.add_dependency "multi_json" # , '>= 0.3.2'
34
34
  spec.add_dependency "httpi" # , '>= 2.4.1'
35
35
  spec.add_dependency "optimist"
36
36
  spec.add_dependency "xml-simple"
37
37
  spec.add_dependency "ox"
38
38
  spec.add_dependency "htmlentities"
39
- spec.add_dependency "webrick"
40
- spec.add_dependency "rexml"
39
+ spec.add_dependency "webrick", ">= 1.8.2"
40
+ spec.add_dependency "rexml", ">= 3.3.9"
41
41
  spec.add_dependency "standardrb"
42
- spec.add_dependency "rack", "3.0.11"
42
+ spec.add_dependency "rack", ">= 3.1.20"
43
43
 
44
44
  spec.add_development_dependency "bundler"
45
45
  spec.add_development_dependency "rake"
46
46
  spec.add_development_dependency "rspec"
47
47
  spec.add_development_dependency "webmock"
48
- spec.add_development_dependency "rdoc", "~> 6.3.3" # rdoc 6.4 depends on psych 4.0 which breaks savon!
48
+ spec.add_development_dependency "rdoc", ">= 6.3.4.1"
49
49
  spec.add_development_dependency "vcr"
50
50
  spec.add_development_dependency "timecop"
51
51
  spec.add_development_dependency "flexmock"
@@ -85,7 +85,7 @@ end
85
85
  # Zips input_filenames (using the basename)
86
86
  def zip_files(zipfile_name, input_filenames)
87
87
  FileUtils.rm_f(zipfile_name)
88
- Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile|
88
+ Zip::File.open(zipfile_name, create: true) do |zipfile|
89
89
  input_filenames.each do |filename|
90
90
  puts "Add #{filename} #{File.size(filename)} bytes as #{File.basename(filename)} #{Dir.pwd}" if $VERBOSE
91
91
  zipfile.add(File.basename(filename), filename)
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.9
4
+ version: 3.0.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: 2025-06-02 00:00:00.000000000 Z
11
+ date: 2026-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 3.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 3.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitar
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 2.8.5
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 2.8.5
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: nokogiri
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 1.8.2
61
+ version: 1.19.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 1.8.2
68
+ version: 1.19.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: savon
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -140,16 +140,16 @@ dependencies:
140
140
  name: rubyntlm
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 0.5.1
145
+ version: 0.6.3
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 0.5.1
152
+ version: 0.6.3
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: multi_json
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -240,28 +240,28 @@ dependencies:
240
240
  requirements:
241
241
  - - ">="
242
242
  - !ruby/object:Gem::Version
243
- version: '0'
243
+ version: 1.8.2
244
244
  type: :runtime
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
- version: '0'
250
+ version: 1.8.2
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: rexml
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - ">="
256
256
  - !ruby/object:Gem::Version
257
- version: '0'
257
+ version: 3.3.9
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: '0'
264
+ version: 3.3.9
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: standardrb
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -280,16 +280,16 @@ dependencies:
280
280
  name: rack
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
- - - '='
283
+ - - ">="
284
284
  - !ruby/object:Gem::Version
285
- version: 3.0.11
285
+ version: 3.1.20
286
286
  type: :runtime
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
- - - '='
290
+ - - ">="
291
291
  - !ruby/object:Gem::Version
292
- version: 3.0.11
292
+ version: 3.1.20
293
293
  - !ruby/object:Gem::Dependency
294
294
  name: bundler
295
295
  requirement: !ruby/object:Gem::Requirement
@@ -350,16 +350,16 @@ dependencies:
350
350
  name: rdoc
351
351
  requirement: !ruby/object:Gem::Requirement
352
352
  requirements:
353
- - - "~>"
353
+ - - ">="
354
354
  - !ruby/object:Gem::Version
355
- version: 6.3.3
355
+ version: 6.3.4.1
356
356
  type: :development
357
357
  prerelease: false
358
358
  version_requirements: !ruby/object:Gem::Requirement
359
359
  requirements:
360
- - - "~>"
360
+ - - ">="
361
361
  - !ruby/object:Gem::Version
362
- version: 6.3.3
362
+ version: 6.3.4.1
363
363
  - !ruby/object:Gem::Dependency
364
364
  name: vcr
365
365
  requirement: !ruby/object:Gem::Requirement
@@ -433,6 +433,7 @@ files:
433
433
  - ".rspec"
434
434
  - ".ruby-version"
435
435
  - ".standard.yml"
436
+ - CLAUDE.md
436
437
  - Elexis_Artikelstamm_v003.xsd
437
438
  - Elexis_Artikelstamm_v5.xsd
438
439
  - Gemfile
@@ -466,6 +467,7 @@ files:
466
467
  - lib/oddb2xml/compressor.rb
467
468
  - lib/oddb2xml/downloader.rb
468
469
  - lib/oddb2xml/extractor.rb
470
+ - lib/oddb2xml/fhir_support.rb
469
471
  - lib/oddb2xml/options.rb
470
472
  - lib/oddb2xml/parslet_compositions.rb
471
473
  - lib/oddb2xml/semantic_check.rb