oddb2xml 1.4.2 → 1.4.3

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.
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source :rubygems
2
2
 
3
3
  gem 'rubyzip'
4
4
  gem 'archive-tar-minitar'
5
- gem 'mechanize'
5
+ gem 'mechanize', '~> 2.5.1'
6
6
  gem 'nokogiri'
7
7
  gem 'savon', '>= 2.0'
8
8
  gem 'spreadsheet'
@@ -1,3 +1,9 @@
1
+ === 1.4.3 / 18.02.2013
2
+
3
+ * Remove slicing bug for ruby 1.8.7 (This is Array)
4
+ * Fix spec for ruby 1.8.7
5
+ * Update to use Mechanize 2.5.1
6
+
1
7
  === 1.4.2 / 15.02.2013
2
8
 
3
9
  * Add warning for ruby-1.8.7 user
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ Hoe.spec 'oddb2xml' do
21
21
  # gem.add_runtime_dependency
22
22
  self.extra_deps << ['rubyzip']
23
23
  self.extra_deps << ['archive-tar-minitar']
24
- self.extra_deps << ['mechanize']
24
+ self.extra_deps << ['mechanize', '~> 2.5.1']
25
25
  self.extra_deps << ['nokogiri']
26
26
  self.extra_deps << ['savon', '>= 2.0']
27
27
  self.extra_deps << ['spreadsheet']
@@ -846,12 +846,12 @@ module Oddb2xml
846
846
  price = price_str.split('.')
847
847
  pre = ''
848
848
  las = ''
849
- pre = "%0#{int_len}d" % (price[0] ? price[0].chr : '0')
849
+ pre = "%0#{int_len}d" % (price[0] ? price[0] : '0')
850
850
  las = if price[1]
851
- if price[1].chr.size < frac_len
852
- price[1].chr + "0"*(frac_len-price[2].to_s.size)
851
+ if price[1].size < frac_len
852
+ price[1] + "0"*(frac_len-price[2].to_s.size)
853
853
  else
854
- price[1].chr[0,frac_len]
854
+ price[1][0,frac_len]
855
855
  end
856
856
  else
857
857
  '0'*frac_len
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "1.4.2"
2
+ VERSION = "1.4.3"
3
3
  end
@@ -2,6 +2,22 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
+ # for stdout/stderr on ruby 1.8.7
6
+ # $stdout.should_receive(:puts).with() does not work
7
+ module Kernel
8
+ def capture(stream)
9
+ begin
10
+ stream = stream.to_s
11
+ eval "$#{stream} = StringIO.new"
12
+ yield
13
+ result = eval("$#{stream}").string
14
+ ensure
15
+ eval "$#{stream} = #{stream.upcase}"
16
+ end
17
+ result
18
+ end
19
+ end
20
+
5
21
  RSpec::Matchers.define :have_option do |option|
6
22
  match do |interface|
7
23
  key = option.keys.first
@@ -15,18 +31,16 @@ RSpec::Matchers.define :have_option do |option|
15
31
  end
16
32
 
17
33
  shared_examples_for 'any interface for product' do
18
- it { cli.should respond_to(:run) }
34
+ it { capture(:stdout) { cli.should respond_to(:run) } }
19
35
  it 'should run successfully' do
20
- $stdout.should_receive(:puts).with(/products/)
21
- cli.run
36
+ capture(:stdout){ cli.run }.should match(/products/)
22
37
  end
23
38
  end
24
39
 
25
40
  shared_examples_for 'any interface for address' do
26
- it { cli.should respond_to(:run) }
41
+ it { capture(:stdout) { cli.should respond_to(:run) } }
27
42
  it 'should run successfully' do
28
- $stdout.should_receive(:puts).with(/addresses/)
29
- cli.run
43
+ capture(:stdout){ cli.run }.should match(/addresses/)
30
44
  end
31
45
  end
32
46
 
@@ -51,14 +65,12 @@ describe Oddb2xml::Cli do
51
65
  cli.should have_option(:compress_ext => 'tar.gz')
52
66
  end
53
67
  it 'should create tar.gz file' do
54
- $stdout.should_receive(:puts).with(/Pharma/)
55
- cli.run
68
+ capture(:stdout) { cli.run }.should match(/Pharma/)
56
69
  file = Dir.glob('oddb_*.tar.gz').first
57
70
  File.exists?(file).should be_true
58
71
  end
59
72
  it 'should not create any xml file' do
60
- $stdout.should_receive(:puts).with(/Pharma/)
61
- cli.run
73
+ capture(:stdout) { cli.run }.should match(/Pharma/)
62
74
  Dir.glob('oddb_*.xml').each do |file|
63
75
  File.exists?(file).should be_nil
64
76
  end
@@ -85,14 +97,12 @@ describe Oddb2xml::Cli do
85
97
  cli.should have_option(:compress_ext => 'zip')
86
98
  end
87
99
  it 'should create zip file' do
88
- $stdout.should_receive(:puts).with(/Pharma/)
89
- cli.run
100
+ capture(:stdout) { cli.run }.should match(/Pharma/)
90
101
  file = Dir.glob('oddb_*.zip').first
91
102
  File.exists?(file).should be_true
92
103
  end
93
104
  it 'should not create any xml file' do
94
- $stdout.should_receive(:puts).with(/Pharma/)
95
- cli.run
105
+ capture(:stdout) { cli.run }.should match(/Pharma/)
96
106
  Dir.glob('oddb_*.xml').each do |file|
97
107
  File.exists?(file).should be_nil
98
108
  end
@@ -119,14 +129,12 @@ describe Oddb2xml::Cli do
119
129
  cli.should have_option(:nonpharma => true)
120
130
  end
121
131
  it 'should not create any compressed file' do
122
- $stdout.should_receive(:puts).with(/NonPharma/)
123
- cli.run
132
+ capture(:stdout) { cli.run }.should match(/NonPharma/)
124
133
  Dir.glob('oddb_*.tar.gz').first.should be_nil
125
134
  Dir.glob('oddb_*.zip').first.should be_nil
126
135
  end
127
136
  it 'should create xml files' do
128
- $stdout.should_receive(:puts).with(/NonPharma/)
129
- cli.run
137
+ capture(:stdout) { cli.run }.should match(/NonPharma/)
130
138
  expected = [
131
139
  'oddb_product.xml',
132
140
  'oddb_article.xml',
@@ -161,14 +169,12 @@ describe Oddb2xml::Cli do
161
169
  cli.should have_option(:tag_suffix=> '_SWISS')
162
170
  end
163
171
  it 'should not create any compressed file' do
164
- $stdout.should_receive(:puts).with(/Pharma/)
165
- cli.run
172
+ capture(:stdout) { cli.run }.should match(/Pharma/)
166
173
  Dir.glob('oddb_*.tar.gz').first.should be_nil
167
174
  Dir.glob('oddb_*.zip').first.should be_nil
168
175
  end
169
176
  it 'should create xml files with prefix swiss_' do
170
- $stdout.should_receive(:puts).with(/Pharma/)
171
- cli.run
177
+ capture(:stdout) { cli.run }.should match(/Pharma/)
172
178
  expected = [
173
179
  'swiss_product.xml',
174
180
  'swiss_article.xml',
@@ -203,14 +209,12 @@ describe Oddb2xml::Cli do
203
209
  cli.should have_option(:fi => true)
204
210
  end
205
211
  it 'should not create any compressed file' do
206
- $stdout.should_receive(:puts).with(/Pharma/)
207
- cli.run
212
+ capture(:stdout) { cli.run }.should match(/Pharma/)
208
213
  Dir.glob('oddb_*.tar.gz').first.should be_nil
209
214
  Dir.glob('oddb_*.zip').first.should be_nil
210
215
  end
211
216
  it 'should create xml files' do
212
- $stdout.should_receive(:puts).with(/Pharma/)
213
- cli.run
217
+ capture(:stdout) { cli.run }.should match(/Pharma/)
214
218
  expected = [
215
219
  'oddb_fi.xml',
216
220
  'oddb_fi_product.xml',
@@ -247,14 +251,12 @@ describe Oddb2xml::Cli do
247
251
  cli.should have_option(:address=> true)
248
252
  end
249
253
  it 'should not create any compressed file' do
250
- $stdout.should_receive(:puts).with(/addresses/)
251
- cli.run
254
+ capture(:stdout) { cli.run }.should match(/addresses/)
252
255
  Dir.glob('oddb_*.tar.gz').first.should be_nil
253
256
  Dir.glob('oddb_*.zip').first.should be_nil
254
257
  end
255
258
  it 'should create xml files' do
256
- $stdout.should_receive(:puts).with(/addresses/)
257
- cli.run
259
+ capture(:stdout) { cli.run }.should match(/addresses/)
258
260
  expected = [
259
261
  'oddb_betrieb.xml',
260
262
  'oddb_medizinalperson.xml',
@@ -49,8 +49,9 @@ module ServerMockHelper
49
49
  stub_response = File.read(File.expand_path("../data/wsdl_#{type.downcase}.xml", __FILE__))
50
50
  stub_request(:get, stub_wsdl_url).
51
51
  with(:headers => {
52
- 'Accept' => '*/*',
53
- 'User-Agent' => 'Ruby'}).
52
+ 'Accept' => '*/*',
53
+ #'Host' => 'ws.e-mediat.net'
54
+ }).
54
55
  to_return(
55
56
  :status => 200,
56
57
  :headers => {'Content-Type' => 'text/xml; charset=utf-8'},
@@ -60,8 +61,9 @@ module ServerMockHelper
60
61
  stub_response = File.read(File.expand_path("../data/swissindex_#{type.downcase}.xml", __FILE__))
61
62
  stub_request(:post, stub_soap_url).
62
63
  with(:headers => {
63
- 'Accept' => '*/*',
64
- 'User-Agent' => 'Ruby'}).
64
+ 'Accept' => '*/*',
65
+ #'Host' => 'example.com'
66
+ }).
65
67
  to_return(
66
68
  :status => 200,
67
69
  :headers => {'Content-Type' => 'text/xml; chaprset=utf-8'},
metadata CHANGED
@@ -1,204 +1,157 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
- version: !ruby/object:Gem::Version
4
- hash: 3
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.3
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 4
9
- - 2
10
- version: 1.4.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-02-15 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-02-18 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: &10008000 !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: *10008000
25
+ - !ruby/object:Gem::Dependency
26
+ name: archive-tar-minitar
27
+ requirement: &10005780 !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: *10005780
36
+ - !ruby/object:Gem::Dependency
37
+ name: mechanize
38
+ requirement: &10003560 !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: 2.5.1
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: *10003560
47
+ - !ruby/object:Gem::Dependency
48
+ name: nokogiri
49
+ requirement: &10001120 !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: *10001120
58
+ - !ruby/object:Gem::Dependency
59
+ name: savon
60
+ requirement: &9999560 !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: *9999560
69
+ - !ruby/object:Gem::Dependency
70
+ name: spreadsheet
71
+ requirement: &9998780 !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: *9998780
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: &9998020 !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: *9998020
91
+ - !ruby/object:Gem::Dependency
92
+ name: webmock
93
+ requirement: &9996860 !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: hoe
135
100
  prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *9996860
102
+ - !ruby/object:Gem::Dependency
103
+ name: hoe
104
+ requirement: &9996000 !ruby/object:Gem::Requirement
137
105
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 15
142
- segments:
143
- - 3
144
- - 4
145
- version: "3.4"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '3.4'
146
110
  type: :development
147
- version_requirements: *id009
148
- - !ruby/object:Gem::Dependency
149
- name: rdoc
150
111
  prerelease: false
151
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *9996000
113
+ - !ruby/object:Gem::Dependency
114
+ name: rdoc
115
+ requirement: &9995300 !ruby/object:Gem::Requirement
152
116
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
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: *9995300
124
+ - !ruby/object:Gem::Dependency
125
+ name: rdoc
126
+ requirement: &9994120 !ruby/object:Gem::Requirement
166
127
  none: false
167
- requirements:
128
+ requirements:
168
129
  - - ~>
169
- - !ruby/object:Gem::Version
170
- hash: 19
171
- segments:
172
- - 3
173
- - 10
174
- version: "3.10"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.10'
175
132
  type: :development
176
- version_requirements: *id011
177
- - !ruby/object:Gem::Dependency
178
- name: hoe
179
133
  prerelease: false
180
- requirement: &id012 !ruby/object:Gem::Requirement
134
+ version_requirements: *9994120
135
+ - !ruby/object:Gem::Dependency
136
+ name: hoe
137
+ requirement: &9993160 !ruby/object:Gem::Requirement
181
138
  none: false
182
- requirements:
139
+ requirements:
183
140
  - - ~>
184
- - !ruby/object:Gem::Version
185
- hash: 25
186
- segments:
187
- - 2
188
- - 13
189
- version: "2.13"
141
+ - !ruby/object:Gem::Version
142
+ version: '2.13'
190
143
  type: :development
191
- version_requirements: *id012
144
+ prerelease: false
145
+ version_requirements: *9993160
192
146
  description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
193
147
  email: yasaka@ywesee.com, zdavatz@ywesee.com
194
- executables:
148
+ executables:
195
149
  - oddb2xml
196
150
  extensions: []
197
-
198
- extra_rdoc_files:
151
+ extra_rdoc_files:
199
152
  - History.txt
200
153
  - Manifest.txt
201
- files:
154
+ files:
202
155
  - .gitignore
203
156
  - .rspec
204
157
  - Gemfile
@@ -255,37 +208,28 @@ files:
255
208
  - .gemtest
256
209
  homepage:
257
210
  licenses: []
258
-
259
211
  post_install_message:
260
- rdoc_options:
212
+ rdoc_options:
261
213
  - --main
262
214
  - README.txt
263
- require_paths:
215
+ require_paths:
264
216
  - lib
265
- required_ruby_version: !ruby/object:Gem::Requirement
217
+ required_ruby_version: !ruby/object:Gem::Requirement
266
218
  none: false
267
- requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- hash: 3
271
- segments:
272
- - 0
273
- version: "0"
274
- required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ required_rubygems_version: !ruby/object:Gem::Requirement
275
224
  none: false
276
- requirements:
277
- - - ">="
278
- - !ruby/object:Gem::Version
279
- hash: 3
280
- segments:
281
- - 0
282
- version: "0"
225
+ requirements:
226
+ - - ! '>='
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
283
229
  requirements: []
284
-
285
230
  rubyforge_project: oddb2xml
286
231
  rubygems_version: 1.8.15
287
232
  signing_key:
288
233
  specification_version: 3
289
234
  summary: oddb2xml creates xml files.
290
235
  test_files: []
291
-