rvista 0.6.2 → 0.6.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/CHANGELOG +4 -0
- data/Rakefile +4 -1
- data/lib/rvista/po.rb +61 -8
- data/lib/rvista.rb +1 -1
- data/test/data/po/valid.txt +1 -1
- data/test/unit/message_test.rb +3 -3
- metadata +35 -26
data/CHANGELOG
CHANGED
data/Rakefile
CHANGED
@@ -5,9 +5,10 @@ require 'rake/testtask'
|
|
5
5
|
require "rake/gempackagetask"
|
6
6
|
require "rubygems"
|
7
7
|
|
8
|
-
PKG_VERSION = "0.6.
|
8
|
+
PKG_VERSION = "0.6.3"
|
9
9
|
PKG_NAME = "rvista"
|
10
10
|
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
11
|
+
RUBY_FORGE_PROJECT = "rbook"
|
11
12
|
|
12
13
|
CLEAN.include "**/.*.sw*"
|
13
14
|
|
@@ -53,6 +54,8 @@ spec = Gem::Specification.new do |spec|
|
|
53
54
|
'--main' << 'README' << '-q'
|
54
55
|
spec.author = "James Healy"
|
55
56
|
spec.email = "jimmy@deefa.com"
|
57
|
+
spec.rubyforge_project = RUBY_FORGE_PROJECT
|
58
|
+
spec.add_dependency('chronic')
|
56
59
|
spec.description = <<END_DESC
|
57
60
|
rvista is a small library for reading Vista HDS order files.
|
58
61
|
END_DESC
|
data/lib/rvista/po.rb
CHANGED
@@ -6,9 +6,8 @@ module RVista
|
|
6
6
|
class PO
|
7
7
|
|
8
8
|
attr_accessor :sender_id, :receiver_id, :internal_control_number, :po_number
|
9
|
-
attr_accessor :po_subset_code, :purpose_code, :purpose_desc
|
10
|
-
attr_accessor :myer_code, :
|
11
|
-
attr_accessor :department, :supplier_ref, :buying_location
|
9
|
+
attr_accessor :po_subset_code, :purpose_code, :purpose_desc
|
10
|
+
attr_accessor :myer_code, :department, :supplier_ref, :buying_location
|
12
11
|
attr_accessor :buying_location_name, :delivery_location
|
13
12
|
attr_accessor :delivery_location_name, :label_code
|
14
13
|
attr_accessor :items
|
@@ -16,6 +15,10 @@ module RVista
|
|
16
15
|
# creates a new RVista::PO object
|
17
16
|
def initialize
|
18
17
|
@items = []
|
18
|
+
@date = nil
|
19
|
+
@supply_before = nil
|
20
|
+
@supply_after = nil
|
21
|
+
@advertised_date = nil
|
19
22
|
end
|
20
23
|
|
21
24
|
# reads a vista text file into memory. input should be a string
|
@@ -33,6 +36,38 @@ module RVista
|
|
33
36
|
return self.build_message(data)
|
34
37
|
end
|
35
38
|
|
39
|
+
def date
|
40
|
+
vista_string_to_date(@date)
|
41
|
+
end
|
42
|
+
|
43
|
+
def date=(val)
|
44
|
+
@date = process_date(val)
|
45
|
+
end
|
46
|
+
|
47
|
+
def supply_after
|
48
|
+
vista_string_to_date(@supply_after)
|
49
|
+
end
|
50
|
+
|
51
|
+
def supply_after=(val)
|
52
|
+
@supply_after = process_date(val)
|
53
|
+
end
|
54
|
+
|
55
|
+
def supply_before
|
56
|
+
vista_string_to_date(@supply_before)
|
57
|
+
end
|
58
|
+
|
59
|
+
def supply_before=(val)
|
60
|
+
@supply_before = process_date(val)
|
61
|
+
end
|
62
|
+
|
63
|
+
def advertised_date
|
64
|
+
vista_string_to_date(@advertised_date)
|
65
|
+
end
|
66
|
+
|
67
|
+
def advertised_date=(val)
|
68
|
+
@advertised_date = process_date(val)
|
69
|
+
end
|
70
|
+
|
36
71
|
# print a string representation of this order that meets the spec
|
37
72
|
def to_s
|
38
73
|
# message header
|
@@ -45,11 +80,11 @@ module RVista
|
|
45
80
|
msg << "#{po_subset_code},"
|
46
81
|
msg << "#{purpose_code},"
|
47
82
|
msg << "#{purpose_desc},"
|
48
|
-
msg << "#{date},"
|
83
|
+
msg << "#{@date},"
|
49
84
|
msg << "#{myer_code},"
|
50
|
-
msg << "#{supply_after},"
|
51
|
-
msg << "#{supply_before},"
|
52
|
-
msg << "#{advertised_date},"
|
85
|
+
msg << "#{@supply_after},"
|
86
|
+
msg << "#{@supply_before},"
|
87
|
+
msg << "#{@advertised_date},"
|
53
88
|
msg << "#{department},"
|
54
89
|
msg << "#{supplier_ref},"
|
55
90
|
msg << "#{buying_location},"
|
@@ -64,7 +99,6 @@ module RVista
|
|
64
99
|
# message summary
|
65
100
|
msg << "S,#{@items.size.to_s},,\n"
|
66
101
|
|
67
|
-
|
68
102
|
return msg
|
69
103
|
end
|
70
104
|
|
@@ -110,6 +144,25 @@ module RVista
|
|
110
144
|
# return the results
|
111
145
|
return msg
|
112
146
|
end
|
147
|
+
|
148
|
+
def vista_string_to_date(str)
|
149
|
+
if str.nil? || str.to_s[0,2] == "00" || str.to_s.size != 8
|
150
|
+
nil
|
151
|
+
else
|
152
|
+
year = "20#{str[6,2]}"
|
153
|
+
month = str[3,2]
|
154
|
+
day = str[0,2]
|
155
|
+
Chronic.parse("#{year}-#{month}-#{day}")
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def process_date(value)
|
160
|
+
if value.respond_to?(:strftime)
|
161
|
+
value.strftime("%d-%m-%y")
|
162
|
+
else
|
163
|
+
value
|
164
|
+
end
|
165
|
+
end
|
113
166
|
end
|
114
167
|
|
115
168
|
class Message < PO
|
data/lib/rvista.rb
CHANGED
data/test/data/po/valid.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
H,1111111,2222222,,0000009525908,,00,,
|
1
|
+
H,1111111,2222222,,0000009525908,,00,,15-09-06,,000000,000000,,,,,,1111111,,
|
2
2
|
D,1,IB,0701180358,DIGGING TO AMERICA,3,0.00,EA,,,43,Y,,
|
3
3
|
D,2,IB,071267344X,THE LAST ENEMY,3,0.00,EA,,,43,Y,,
|
4
4
|
D,3,IB,1841593001,COLLECTED STORIES: DAHL,2,0.00,EA,,,43,Y,,
|
data/test/unit/message_test.rb
CHANGED
@@ -79,10 +79,10 @@ class POTest < Test::Unit::TestCase
|
|
79
79
|
assert_equal msg.po_subset_code, nil
|
80
80
|
assert_equal msg.purpose_code, "00"
|
81
81
|
assert_equal msg.purpose_desc, nil
|
82
|
-
assert_equal msg.date, "
|
82
|
+
assert_equal msg.date, Chronic.parse("2006-09-15")
|
83
83
|
assert_equal msg.myer_code, nil
|
84
|
-
assert_equal msg.supply_after,
|
85
|
-
assert_equal msg.supply_before,
|
84
|
+
assert_equal msg.supply_after, nil
|
85
|
+
assert_equal msg.supply_before, nil
|
86
86
|
assert_equal msg.advertised_date, nil
|
87
87
|
assert_equal msg.department, nil
|
88
88
|
assert_equal msg.supplier_ref, nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvista
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Healy
|
@@ -9,10 +9,19 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-11-13 00:00:00 +11:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: chronic
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
16
25
|
description: " rvista is a small library for reading Vista HDS order files.\n"
|
17
26
|
email: jimmy@deefa.com
|
18
27
|
executables: []
|
@@ -28,32 +37,32 @@ files:
|
|
28
37
|
- lib/rvista.rb
|
29
38
|
- lib/rvista/errors.rb
|
30
39
|
- lib/rvista/invoice.rb
|
31
|
-
- lib/rvista/
|
40
|
+
- lib/rvista/poa_line_item.rb
|
32
41
|
- lib/rvista/po.rb
|
33
|
-
- lib/rvista/
|
42
|
+
- lib/rvista/invoice_line_item.rb
|
34
43
|
- lib/rvista/poa.rb
|
35
|
-
- lib/rvista/
|
36
|
-
- test/data/invoice/invalid_line.txt
|
37
|
-
- test/data/invoice/invalid_missing_footer.txt
|
38
|
-
- test/data/invoice/invalid_missing_header.txt
|
39
|
-
- test/data/invoice/valid.txt
|
40
|
-
- test/data/po/invalid_line.txt
|
41
|
-
- test/data/po/invalid_missing_footer.txt
|
42
|
-
- test/data/po/invalid_missing_header.txt
|
43
|
-
- test/data/po/no_delivery_location.txt
|
44
|
-
- test/data/po/seperate_delivery_location.txt
|
45
|
-
- test/data/po/valid.txt
|
46
|
-
- test/data/po/quotes.txt
|
44
|
+
- lib/rvista/po_line_item.rb
|
47
45
|
- test/data/poa/invalid_line.txt
|
48
|
-
- test/data/poa/invalid_missing_footer.txt
|
49
|
-
- test/data/poa/invalid_missing_header.txt
|
50
46
|
- test/data/poa/valid.txt
|
51
|
-
- test/
|
52
|
-
- test/
|
53
|
-
- test/
|
54
|
-
- test/
|
47
|
+
- test/data/poa/invalid_missing_header.txt
|
48
|
+
- test/data/poa/invalid_missing_footer.txt
|
49
|
+
- test/data/po/no_delivery_location.txt
|
50
|
+
- test/data/po/quotes.txt
|
51
|
+
- test/data/po/invalid_line.txt
|
52
|
+
- test/data/po/valid.txt
|
53
|
+
- test/data/po/seperate_delivery_location.txt
|
54
|
+
- test/data/po/invalid_missing_header.txt
|
55
|
+
- test/data/po/invalid_missing_footer.txt
|
56
|
+
- test/data/invoice/invalid_line.txt
|
57
|
+
- test/data/invoice/valid.txt
|
58
|
+
- test/data/invoice/invalid_missing_header.txt
|
59
|
+
- test/data/invoice/invalid_missing_footer.txt
|
55
60
|
- test/unit/poa_line_item_test.rb
|
56
61
|
- test/unit/poa_test.rb
|
62
|
+
- test/unit/message_test.rb
|
63
|
+
- test/unit/line_item_test.rb
|
64
|
+
- test/unit/invoice_line_item_test.rb
|
65
|
+
- test/unit/invoice_test.rb
|
57
66
|
- Rakefile
|
58
67
|
- README
|
59
68
|
- COPYING
|
@@ -86,8 +95,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
95
|
version:
|
87
96
|
requirements: []
|
88
97
|
|
89
|
-
rubyforge_project:
|
90
|
-
rubygems_version: 1.3.
|
98
|
+
rubyforge_project: rbook
|
99
|
+
rubygems_version: 1.3.5
|
91
100
|
signing_key:
|
92
101
|
specification_version: 3
|
93
102
|
summary: A small library for reading Vista HDS ecommerce files
|