oddb2xml 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ === 1.4.4 / 18.02.2013
2
+
3
+ * Update to work length formatter on ruby 1.8.7
4
+
1
5
  === 1.4.3 / 18.02.2013
2
6
 
3
7
  * Remove slicing bug for ruby 1.8.7 (This is Array)
@@ -842,6 +842,21 @@ module Oddb2xml
842
842
  end
843
843
 
844
844
  ### --- see oddb2tdat
845
+ DAT_LEN = {
846
+ :RECA => 2,
847
+ :CMUT => 1,
848
+ :PHAR => 7,
849
+ :ABEZ => 50,
850
+ :PRMO => 6,
851
+ :PRPU => 6,
852
+ :CKZL => 1,
853
+ :CLAG => 1,
854
+ :CBGG => 1,
855
+ :CIKS => 1,
856
+ :ITHE => 7,
857
+ :CEAN => 13,
858
+ :CMWS => 1,
859
+ }
845
860
  def format_price(price_str, len=6, int_len=4, frac_len=2)
846
861
  price = price_str.split('.')
847
862
  pre = ''
@@ -865,21 +880,20 @@ module Oddb2xml
865
880
  end
866
881
  date[0,len]
867
882
  end
868
- DAT_LEN = {
869
- :RECA => 2,
870
- :CMUT => 1,
871
- :PHAR => 7,
872
- :ABEZ => 50,
873
- :PRMO => 6,
874
- :PRPU => 6,
875
- :CKZL => 1,
876
- :CLAG => 1,
877
- :CBGG => 1,
878
- :CIKS => 1,
879
- :ITHE => 7,
880
- :CEAN => 13,
881
- :CMWS => 1,
882
- }
883
+ def format_name(name)
884
+ if RUBY_VERSION.to_f < 1.9 # for multibyte chars length support
885
+ chars = name.scan(/./mu).to_a
886
+ diff = DAT_LEN[:ABEZ] - chars.length
887
+ if diff > 0
888
+ chars += Array.new(diff, ' ')
889
+ elsif diff < 0
890
+ chars = chars [0,DAT_LEN[:ABEZ]]
891
+ end
892
+ chars.to_s
893
+ else
894
+ "%-#{DAT_LEN[:ABEZ]}s" % name
895
+ end
896
+ end
883
897
  def build_dat
884
898
  prepare_articles
885
899
  rows = []
@@ -903,11 +917,12 @@ module Oddb2xml
903
917
  '3'
904
918
  end
905
919
  row << "%0#{DAT_LEN[:PHAR]}d" % idx[:pharmacode].to_i
906
- row << "%-#{DAT_LEN[:ABEZ]}s" % (
907
- idx[:desc].to_s.gsub(/"/, '') + " " +
908
- (pac ? pac[:name_de].to_s : '') +
909
- idx[:additional_desc]
910
- ).to_s[0, DAT_LEN[:ABEZ]].gsub(/"/, '')
920
+ abez = ( # de name
921
+ idx[:desc].to_s + " " +
922
+ (pac ? pac[:name_de].to_s : '') +
923
+ idx[:additional_desc]
924
+ ).gsub(/"/, '')
925
+ row << format_name(abez)
911
926
  row << "%#{DAT_LEN[:PRMO]}s" % (pac ? format_price(pac[:prices][:exf_price][:price].to_s) : ('0' * DAT_LEN[:PRMO]))
912
927
  row << "%#{DAT_LEN[:PRPU]}s" % (pac ? format_price(pac[:prices][:pub_price][:price].to_s) : ('0' * DAT_LEN[:PRPU]))
913
928
  row << "%#{DAT_LEN[:CKZL]}s" % if (@lppvs[idx[:ean]])
@@ -963,10 +978,11 @@ module Oddb2xml
963
978
  '3'
964
979
  end
965
980
  row << "%0#{DAT_LEN[:PHAR]}d" % idx[:pharmacode].to_i
966
- row << "%-#{DAT_LEN[:ABEZ]}s" % (
967
- idx[:desc].to_s.gsub(/"/, '') + " " +
968
- idx[:additional_desc]
969
- ).to_s[0, DAT_LEN[:ABEZ]].gsub(/"/, '')
981
+ abez = ( # de name
982
+ idx[:desc].to_s + " " +
983
+ idx[:additional_desc]
984
+ ).gsub(/"/, '')
985
+ row << format_name(abez)
970
986
  row << "%#{DAT_LEN[:PRMO]}s" % ('0' * DAT_LEN[:PRMO])
971
987
  row << "%#{DAT_LEN[:PRPU]}s" % ('0' * DAT_LEN[:PRPU])
972
988
  row << "%#{DAT_LEN[:CKZL]}s" % '3' # sl_entry and lppv
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "1.4.3"
2
+ VERSION = "1.4.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-02-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
16
- requirement: &10008000 !ruby/object:Gem::Requirement
16
+ requirement: &9491760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10008000
24
+ version_requirements: *9491760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: archive-tar-minitar
27
- requirement: &10005780 !ruby/object:Gem::Requirement
27
+ requirement: &9489900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10005780
35
+ version_requirements: *9489900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mechanize
38
- requirement: &10003560 !ruby/object:Gem::Requirement
38
+ requirement: &9487320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.5.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *10003560
46
+ version_requirements: *9487320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: nokogiri
49
- requirement: &10001120 !ruby/object:Gem::Requirement
49
+ requirement: &9485840 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *10001120
57
+ version_requirements: *9485840
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: savon
60
- requirement: &9999560 !ruby/object:Gem::Requirement
60
+ requirement: &9484440 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '2.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *9999560
68
+ version_requirements: *9484440
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: spreadsheet
71
- requirement: &9998780 !ruby/object:Gem::Requirement
71
+ requirement: &9483500 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *9998780
79
+ version_requirements: *9483500
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &9998020 !ruby/object:Gem::Requirement
82
+ requirement: &9482040 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *9998020
90
+ version_requirements: *9482040
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: webmock
93
- requirement: &9996860 !ruby/object:Gem::Requirement
93
+ requirement: &9481420 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *9996860
101
+ version_requirements: *9481420
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: hoe
104
- requirement: &9996000 !ruby/object:Gem::Requirement
104
+ requirement: &9479900 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '3.4'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *9996000
112
+ version_requirements: *9479900
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rdoc
115
- requirement: &9995300 !ruby/object:Gem::Requirement
115
+ requirement: &9475580 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *9995300
123
+ version_requirements: *9475580
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rdoc
126
- requirement: &9994120 !ruby/object:Gem::Requirement
126
+ requirement: &9472360 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '3.10'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *9994120
134
+ version_requirements: *9472360
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: hoe
137
- requirement: &9993160 !ruby/object:Gem::Requirement
137
+ requirement: &9469560 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ~>
@@ -142,7 +142,7 @@ dependencies:
142
142
  version: '2.13'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *9993160
145
+ version_requirements: *9469560
146
146
  description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
147
147
  email: yasaka@ywesee.com, zdavatz@ywesee.com
148
148
  executables: