oddb2xml 1.4.2 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
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
-