oddb2xml 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ === 1.2.3 / 25.01.2013
2
+
3
+ * Change CBGG value as 3
4
+ * Add CLAG value from @fridges
5
+ * Change dat as only a file with `-a nonpharma`
6
+ * Update CKZL value with sl_entry or not
7
+ * Update to use also BM_update from ywesee
8
+ * Update to use also category from Packungen.xls
9
+
1
10
  === 1.2.2 / 24.01.2013
2
11
 
3
12
  * Improve compressor for dat
data/README.md CHANGED
@@ -1,17 +1,40 @@
1
1
  # oddb2xml
2
2
 
3
- oddb2xml, creates xml files using swissINDEX, BAG-XML and Swissmedic.
3
+ * oddb2xml -a nonpharma -o fi
4
+
5
+ creates the following xml files:
6
+
7
+ * oddb_substance.xml
8
+ * oddb_limitation.xml
9
+ * oddb_interaction.xml
10
+ * oddb_code.xml
11
+ * oddb_product.xml
12
+ * oddb_article.xml
13
+ * oddb_fi.xml
14
+ * oddb_fi_product.xml
15
+
16
+ and
17
+
18
+ * oddb2xml -f dat
19
+ * oddb2xml -f dat -a nonpharma
20
+
21
+ creates .dat files according to ([IGM-11](http://dev.ywesee.com/uploads/att/IGM.pdf))
22
+
23
+ * oddb.dat
24
+ * oddb_with_migel.dat
25
+
26
+ the files are using [swissINDEX](http://www.refdata.ch/downloads/company/download/swissindex_TechnischeBeschreibung.pdf), [BAG-XML](http://bag.e-mediat.net/SL2007.Web.External/Default.aspx?webgrab=ignore) and [Swissmedic](http://www.swissmedic.ch/daten/00080/00251/index.html?lang=de) as sources.
4
27
 
5
28
  The following additional data is in the files:
6
29
 
7
- * Wirkstoffe
8
- * Kühlkette (gemäss Swissmedic)
9
- * Orphan Drugs (gemäss Swissmedic)
10
- * FI (de und fr)
11
- * Limitation-Texte (gemäss BAG XML)
12
- * Interaktionen (EPha.ch)
13
- * Betäubungsmittel und psychotrope Stoffe (gemäss Swissmedic)
14
- * Non-Pharma from Refdata and Suppliers
30
+ * [Wirkstoffe](http://bag.e-mediat.net/SL2007.Web.External/File.axd?file=XMLPublications.zip) (BAG XML)
31
+ * [Kühlkette](http://www.swissmedic.ch/daten/00080/00254/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH57e2ym162epYbg2c_JjKbNoKOn6A--) (Swissmedic)
32
+ * [Orphan Drugs](http://www.swissmedic.ch/daten/00081/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH55f2ym162epYbg2c_JjKbNoKSn6A--&.xls) (Swissmedic)
33
+ * [FI: de, fr](http://download.swissmedicinfo.ch) (Swissmedic)
34
+ * Limitation-Texte (BAG XML)
35
+ * Interaktionen [EPha.ch](http://epha.ch)
36
+ * [Betäubungsmittel](http://www.swissmedic.ch/produktbereiche/00447/00536/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH1,fWym162epYbg2c_JjKbNoKSn6A--&.pdf) und psychotrope Stoffe (Swissmedic)
37
+ * Non-Pharma from Refdata and Suppliers (swissINDEX)
15
38
 
16
39
  ## usage
17
40
 
@@ -19,25 +42,26 @@ see `--help`.
19
42
 
20
43
  ```
21
44
  $ oddb2xml --help
22
- oddb2xml ver.1.0.7
45
+ oddb2xml ver.1.2.2
23
46
  Usage:
24
47
  oddb2xml [option]
25
- -c F, --compress=F Compress format F. {tar.gz|zip}
26
48
  -a T, --append=T Additional target. T, only 'nonpharma' is available.
49
+ -c F, --compress=F Compress format F. {tar.gz|zip}
50
+ -f dat, create dat files according to IGM-11 standard.
51
+ -h, --help Show this help message.
52
+ -o fi, create fi xml files.
27
53
  -t S, --tag-suffix=S XML tag suffix S. Default is none. [A-z0-9_]
28
54
  If S is given, it is also used as prefix of filename.
29
- -h, --help Show this help message.
30
55
  ```
31
56
 
32
57
 
33
- ## example
34
-
35
- option examples.
58
+ ## Option examples
36
59
 
37
60
  ```
38
- $ oddb2xml # => oddb_article.xml, oddb_product.xml, oddb_substance.xml
39
61
  $ oddb2xml -t md # => md_article.xml, md_product.xml, md_substance.xml
40
62
  $ oddb2xml -a nonpharma -t md -c tar.gz # => md_xml_dd.mm.yyyy_hh.mm.tar.gz
63
+ $ oddb2xml -f dat # => oddb.dat
64
+ $ oddb2xml -f dat -a nonpharma # => oddb_with_migel.dat
41
65
  ```
42
66
 
43
67
  output.
@@ -50,6 +74,26 @@ FR
50
74
  Pharma products: 14801
51
75
  ```
52
76
 
77
+ ## XSD files
78
+ If you need the XSD files, generate them yourself using the javabeans tool:
79
+
80
+ * http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html#inst2xsd
81
+
82
+ this will generate you a valid XSD file that can be used to validate against the XML file.
83
+
84
+ ## XML files
85
+
86
+ xml files generated are:
87
+
88
+ * oddb_substance.xml
89
+ * oddb_limitation.xml
90
+ * oddb_interaction.xml
91
+ * oddb_code.xml
92
+ * oddb_product.xml
93
+ * oddb_article.xml
94
+ * oddb_fi.xml
95
+ * oddb_fi_product.xml
96
+
53
97
  ### article.xml
54
98
 
55
99
  oddb2xml creates article.xml as oddb_article.xml by default.
@@ -161,20 +205,32 @@ product.xml has relation to substance as `<SUBNO>`.
161
205
  </SUBSTANCE>
162
206
  ```
163
207
 
164
- ## About SSLv3 cert
208
+ ## SSLv3 cert for Windows Users
165
209
 
166
- Some websites need SSLv3 connection.
210
+ Some websites need SSLv3 connection.
167
211
  If you don't have these root CA files (x509), Please install these Certificates before running.
168
- Please confirm wit `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'`.
169
-
170
212
  see [cURL Website](http://curl.haxx.se/ca/)
171
213
 
214
+ You can confirm wit `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'`.
172
215
 
173
- ### Windows User
216
+ ### Windows User: Making your SSL Certificate permanent via your PATH
174
217
 
175
218
  1. Download this [cacert.pem](http://curl.haxx.se/ca/cacert.pem) (cURL) into your HOME directory.
176
- 1. Then Choose Menu "Control Panel" > "System" > "Advanced system settings" (This open "System Properties" Window.)
177
- 2. Click "Advanced" Tab.
178
- 3. Click "Environment Variables" button.
179
- 4. Add set variable entry "SSL\_CERT\_FILE=%HOMEPATH%\cacert.pem" (Variable name: SSL\_CCERT\_FILE, Variable value: %HOMEPATH%\cacert.pem) with "New..." button into upper are "User variables for xxx"
180
- 5. (Please do not remove this cacert.pem. All SSLv3 connections use this file.)
219
+ * or directly select cacert.pem from your oddb2xml-x.x.x gems directory.
220
+ * tools/cacert.pem is bundled with the oddb2xml gem.
221
+ 2. Then Choose Menu "Control Panel" > "System" > "Advanced system settings"
222
+ * This opens the "System Properties" Window.
223
+ 3. Click "Advanced" Tab.
224
+ 4. Click "Environment Variables" button.
225
+ 5. Add set variable entry "SSL\_CERT\_FILE=%HOMEPATH%\cacert.pem"
226
+ * Variable name: SSL\_CCERT\_FILE
227
+ * Variable value: %HOMEPATH%\cacert.pem
228
+ * with "New..." button into upper are "User variables for xxx"
229
+ 6. Do not remove this cacert.pem. All SSLv3 connections use this file.
230
+
231
+ ### win_fetch_cacerts.rb
232
+ You can also run
233
+
234
+ * tools/win_fetch_cacerts.rb
235
+
236
+ for your currently open Terminal to download and set the Certificate.
@@ -52,7 +52,8 @@ module Oddb2xml
52
52
  end
53
53
  end
54
54
  private
55
- def prepare_articles
55
+ def prepare_articles(reset=false)
56
+ @articles = nil if reset
56
57
  unless @articles
57
58
  @articles = [] # base is 'DE'
58
59
  @index['DE'].each_pair do |pharmacode, index|
@@ -735,10 +736,16 @@ module Oddb2xml
735
736
  de_pac = obj[:de]
736
737
  # Oddb2tdat.parse
737
738
  if obj[:de][:status] =~ /A|I/
738
- pac = nil
739
+ pac,num = nil, nil
739
740
  if obj[:seq]
740
741
  pac = obj[:seq][:packages][de_pac[:pharmacode]]
741
742
  end
743
+ # :swissmedic_number
744
+ if de_pac[:ean].length == 13
745
+ num = de_pac[:ean][4,8].intern
746
+ elsif pac
747
+ num = pac[:swissmedic_number].intern
748
+ end
742
749
  row << "%#{DAT_LEN[:RECA]}s" % '11'
743
750
  row << "%#{DAT_LEN[:CMUT]}s" % if (phar = de_pac[:pharmacode] and phar.size > 3) # does not check expiration_date
744
751
  obj[:de][:status] == "I" ? '3' : '1'
@@ -753,15 +760,31 @@ module Oddb2xml
753
760
  ).to_s[0, DAT_LEN[:ABEZ]].gsub(/"/, '')
754
761
  row << "%#{DAT_LEN[:PRMO]}s" % (pac ? format_price(pac[:prices][:exf_price][:price].to_s) : ('0' * DAT_LEN[:PRMO]))
755
762
  row << "%#{DAT_LEN[:PRPU]}s" % (pac ? format_price(pac[:prices][:pub_price][:price].to_s) : ('0' * DAT_LEN[:PRPU]))
756
- row << "%#{DAT_LEN[:CKZL]}s" % '3' # sl_entry and lppv
757
- row << "%#{DAT_LEN[:CLAG]}s" % '0'
758
- row << "%#{DAT_LEN[:CBGG]}s" % ((pac && pac[:narcosis_flag] == 'Y') ? '1' : '0')
759
- row << "%#{DAT_LEN[:CIKS]}s" % if (pac && pac[:swissmedic_category] =~ /^[ABCDE]$/)
760
- pac[:swissmedic_category].gsub(/(\+|\s)/, '')
763
+ row << "%#{DAT_LEN[:CKZL]}s" % (pac ? '1' : '3') # sl_entry or not
764
+ row << "%#{DAT_LEN[:CLAG]}s" % if ((num && num.to_s =~ /(\d{5})(\d{3})/) and
765
+ @fridges.include?($1.to_s))
766
+ '1'
767
+ else
768
+ '0'
769
+ end
770
+ row << "%#{DAT_LEN[:CBGG]}s" % if ((pac && pac[:narcosis_flag] == 'Y') or # BAGXml
771
+ (@flags[de_pac[:ean]])) # ywesee BM_update
772
+ '3'
761
773
  else
762
774
  '0'
763
775
  end
764
- row << "%0#{DAT_LEN[:ITHE]}d" % (pac ? format_date(@packs[pac[:swissmedic_number].intern].to_s) : ('0' * DAT_LEN[:ITHE])).to_i
776
+ row << "%#{DAT_LEN[:CIKS]}s" % if (pac && pac[:swissmedic_category] =~ /^[ABCDE]$/) # BAGXml
777
+ pac[:swissmedic_category]
778
+ elsif (@packs[num]) # Packungen.xls
779
+ @packs[num][:swissmedic_category]
780
+ else
781
+ '0'
782
+ end.gsub(/(\+|\s)/, '')
783
+ row << "%0#{DAT_LEN[:ITHE]}d" % if (pac && @packs[num])
784
+ format_date(@packs[num][:ith_swissmedic])
785
+ else
786
+ ('0' * DAT_LEN[:ITHE])
787
+ end.to_i
765
788
  row << "%0#{DAT_LEN[:CEAN]}d" % de_pac[:ean].to_i
766
789
  row << "%#{DAT_LEN[:CMWS]}s" % '2' # pharma
767
790
  rows << row
@@ -770,7 +793,8 @@ module Oddb2xml
770
793
  rows.join("\n")
771
794
  end
772
795
  def build_with_migel_dat
773
- prepare_articles
796
+ reset = true
797
+ prepare_articles(reset)
774
798
  rows = []
775
799
  @articles.each do |obj|
776
800
  row = ''
data/lib/oddb2xml/cli.rb CHANGED
@@ -57,14 +57,6 @@ module Oddb2xml
57
57
  @actions = EphaExtractor.new(str).to_arry
58
58
  end
59
59
  end
60
- # ywesee
61
- threads << Thread.new do
62
- downloader = YweseeBMDownloader.new
63
- str = downloader.download
64
- @mutex.synchronize do
65
- @flags = YweseeBMExtractor.new(str).to_hash
66
- end
67
- end
68
60
  else # dat
69
61
  # swissmedic - package
70
62
  threads << Thread.new do
@@ -75,6 +67,14 @@ module Oddb2xml
75
67
  end
76
68
  end
77
69
  end
70
+ # ywesee
71
+ threads << Thread.new do
72
+ downloader = YweseeBMDownloader.new
73
+ str = downloader.download
74
+ @mutex.synchronize do
75
+ @flags = YweseeBMExtractor.new(str).to_hash
76
+ end
77
+ end
78
78
  # bag
79
79
  threads << Thread.new do
80
80
  downloader = BagXmlDownloader.new(@options)
@@ -129,22 +129,18 @@ module Oddb2xml
129
129
  begin
130
130
  files.each_pair do |sbj, file|
131
131
  builder = Builder.new do |builder|
132
- index = {}
133
- LANGUAGES.each do |lang|
134
- index[lang] = {} unless index[lang]
135
- # TODO
136
- # to fix @index structure
137
- if @options[:format] == :dat
138
- type = (sbj == :dat ? :pharma : :nonpharma)
139
- index[lang] = @index[lang][type]
140
- else
132
+ if @options[:format] != :dat
133
+ index = {}
134
+ LANGUAGES.each do |lang|
135
+ index[lang] = {} unless index[lang]
141
136
  types.each do |type|
142
137
  index[lang].merge!(@index[lang][type]) if @index[lang][type]
143
138
  end
144
139
  end
140
+ builder.index = index
141
+ builder.subject = sbj
145
142
  end
146
- builder.subject = sbj
147
- builder.index = index
143
+ # common sources
148
144
  builder.items = @items
149
145
  builder.flags = @flags
150
146
  # additions
@@ -158,7 +154,17 @@ module Oddb2xml
158
154
  end
159
155
  output = ''
160
156
  if @options[:format] == :dat
161
- output = builder.to_dat
157
+ types.each do |type|
158
+ index = {}
159
+ LANGUAGES.each do |lang|
160
+ index[lang] = @index[lang][type]
161
+ end
162
+ builder.index = index
163
+ _sbj = (type == :pharma ? :dat : :with_migel_dat)
164
+ builder.subject = _sbj
165
+ output << "\n" if _sbj == :nonpharma
166
+ output << builder.to_dat
167
+ end
162
168
  else
163
169
  output = builder.to_xml
164
170
  end
@@ -187,8 +193,8 @@ module Oddb2xml
187
193
  @_files = {}
188
194
  if @options[:format] == :dat
189
195
  @_files[:dat] = "#{prefix}.dat"
190
- if @options[:nonpharma]
191
- @_files[:with_migel_dat] = "#{prefix}_with_migel.dat"
196
+ if @options[:nonpharma] # into one file
197
+ @_files[:dat] = "#{prefix}_with_migel.dat"
192
198
  end
193
199
  else # xml
194
200
  ##
@@ -166,11 +166,15 @@ module Oddb2xml
166
166
  case @type
167
167
  when :packages
168
168
  i_5,i_3 = 0,10 # :swissmedic_number
169
+ cat = 13 # :swissmedic_category
169
170
  ith = 4 # :ith_swissmedic (swissmedic-diff)
170
171
  @sheet.each do |row|
171
172
  no8 = extract_number(row, i_5).to_s + extract_number(row, i_3, /^\d{3}$/).to_s
172
173
  unless no8.empty?
173
- data[no8.intern] = row[ith].to_s
174
+ data[no8.intern] = {
175
+ :ith_swissmedic => row[ith].to_s,
176
+ :swissmedic_category => row[cat].to_s,
177
+ }
174
178
  end
175
179
  end
176
180
  end
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "1.2.2"
2
+ VERSION = "1.2.3"
3
3
  end
metadata CHANGED
@@ -1,218 +1,168 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.3
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 2
10
- version: 1.2.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Yasuhiro Asaka, Zeno R.R. Davatz
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-01-24 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-01-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rubyzip
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &12392380 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: archive-tar-minitar
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *12392380
25
+ - !ruby/object:Gem::Dependency
26
+ name: archive-tar-minitar
27
+ requirement: &12391500 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
46
33
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: mechanize
50
34
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *12391500
36
+ - !ruby/object:Gem::Dependency
37
+ name: mechanize
38
+ requirement: &12390520 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
60
44
  type: :runtime
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: nokogiri
64
45
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *12390520
47
+ - !ruby/object:Gem::Dependency
48
+ name: nokogiri
49
+ requirement: &12389260 !ruby/object:Gem::Requirement
66
50
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
74
55
  type: :runtime
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: savon
78
56
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *12389260
58
+ - !ruby/object:Gem::Dependency
59
+ name: savon
60
+ requirement: &12387620 !ruby/object:Gem::Requirement
80
61
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 2
87
- - 0
88
- version: "2.0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '2.0'
89
66
  type: :runtime
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: spreadsheet
93
67
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *12387620
69
+ - !ruby/object:Gem::Dependency
70
+ name: spreadsheet
71
+ requirement: &12386440 !ruby/object:Gem::Requirement
95
72
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 3
100
- segments:
101
- - 0
102
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
103
77
  type: :runtime
104
- version_requirements: *id006
105
- - !ruby/object:Gem::Dependency
106
- name: rspec
107
78
  prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *12386440
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: &12385520 !ruby/object:Gem::Requirement
109
83
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 3
114
- segments:
115
- - 0
116
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
117
88
  type: :development
118
- version_requirements: *id007
119
- - !ruby/object:Gem::Dependency
120
- name: webmock
121
89
  prerelease: false
122
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *12385520
91
+ - !ruby/object:Gem::Dependency
92
+ name: webmock
93
+ requirement: &12384700 !ruby/object:Gem::Requirement
123
94
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 3
128
- segments:
129
- - 0
130
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
131
99
  type: :development
132
- version_requirements: *id008
133
- - !ruby/object:Gem::Dependency
134
- name: ZenTest
135
100
  prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *12384700
102
+ - !ruby/object:Gem::Dependency
103
+ name: ZenTest
104
+ requirement: &12383480 !ruby/object:Gem::Requirement
137
105
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
145
110
  type: :development
146
- version_requirements: *id009
147
- - !ruby/object:Gem::Dependency
148
- name: hoe
149
111
  prerelease: false
150
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *12383480
113
+ - !ruby/object:Gem::Dependency
114
+ name: hoe
115
+ requirement: &12382600 !ruby/object:Gem::Requirement
151
116
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 15
156
- segments:
157
- - 3
158
- - 4
159
- version: "3.4"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '3.4'
160
121
  type: :development
161
- version_requirements: *id010
162
- - !ruby/object:Gem::Dependency
163
- name: rdoc
164
122
  prerelease: false
165
- requirement: &id011 !ruby/object:Gem::Requirement
123
+ version_requirements: *12382600
124
+ - !ruby/object:Gem::Dependency
125
+ name: rdoc
126
+ requirement: &12381680 !ruby/object:Gem::Requirement
166
127
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
172
- - 0
173
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
174
132
  type: :development
175
- version_requirements: *id011
176
- - !ruby/object:Gem::Dependency
177
- name: rdoc
178
133
  prerelease: false
179
- requirement: &id012 !ruby/object:Gem::Requirement
134
+ version_requirements: *12381680
135
+ - !ruby/object:Gem::Dependency
136
+ name: rdoc
137
+ requirement: &12380280 !ruby/object:Gem::Requirement
180
138
  none: false
181
- requirements:
139
+ requirements:
182
140
  - - ~>
183
- - !ruby/object:Gem::Version
184
- hash: 19
185
- segments:
186
- - 3
187
- - 10
188
- version: "3.10"
141
+ - !ruby/object:Gem::Version
142
+ version: '3.10'
189
143
  type: :development
190
- version_requirements: *id012
191
- - !ruby/object:Gem::Dependency
192
- name: hoe
193
144
  prerelease: false
194
- requirement: &id013 !ruby/object:Gem::Requirement
145
+ version_requirements: *12380280
146
+ - !ruby/object:Gem::Dependency
147
+ name: hoe
148
+ requirement: &12379200 !ruby/object:Gem::Requirement
195
149
  none: false
196
- requirements:
150
+ requirements:
197
151
  - - ~>
198
- - !ruby/object:Gem::Version
199
- hash: 25
200
- segments:
201
- - 2
202
- - 13
203
- version: "2.13"
152
+ - !ruby/object:Gem::Version
153
+ version: '2.13'
204
154
  type: :development
205
- version_requirements: *id013
155
+ prerelease: false
156
+ version_requirements: *12379200
206
157
  description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
207
158
  email: yasaka@ywesee.com, zdavatz@ywesee.com
208
- executables:
159
+ executables:
209
160
  - oddb2xml
210
161
  extensions: []
211
-
212
- extra_rdoc_files:
162
+ extra_rdoc_files:
213
163
  - History.txt
214
164
  - Manifest.txt
215
- files:
165
+ files:
216
166
  - .gitignore
217
167
  - .rspec
218
168
  - Gemfile
@@ -263,37 +213,28 @@ files:
263
213
  - .gemtest
264
214
  homepage:
265
215
  licenses: []
266
-
267
216
  post_install_message:
268
- rdoc_options:
217
+ rdoc_options:
269
218
  - --main
270
219
  - README.txt
271
- require_paths:
220
+ require_paths:
272
221
  - lib
273
- required_ruby_version: !ruby/object:Gem::Requirement
222
+ required_ruby_version: !ruby/object:Gem::Requirement
274
223
  none: false
275
- requirements:
276
- - - ">="
277
- - !ruby/object:Gem::Version
278
- hash: 3
279
- segments:
280
- - 0
281
- version: "0"
282
- required_rubygems_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ! '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ required_rubygems_version: !ruby/object:Gem::Requirement
283
229
  none: false
284
- requirements:
285
- - - ">="
286
- - !ruby/object:Gem::Version
287
- hash: 3
288
- segments:
289
- - 0
290
- version: "0"
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
291
234
  requirements: []
292
-
293
235
  rubyforge_project: oddb2xml
294
236
  rubygems_version: 1.8.15
295
237
  signing_key:
296
238
  specification_version: 3
297
239
  summary: oddb2xml creates xml files.
298
240
  test_files: []
299
-