ecometry 0.0.0 → 0.0.2
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 +3 -2
- data/VERSION +1 -1
- data/ecometry.gemspec +11 -10
- data/lib/ecometry.rb +12 -3
- data/lib/{layout.rb → ecometry/layout.rb} +0 -0
- data/test/helper.rb +1 -0
- data/test/test_ecometry.rb +5 -10
- data/test/test_minicart.rb +39 -0
- metadata +18 -17
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/ecometry.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ecometry"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Brian"]
|
12
|
-
s.date = "2012-04-
|
12
|
+
s.date = "2012-04-17"
|
13
13
|
s.description = "Tool for creating Ecometry batch files"
|
14
14
|
s.email = "brian@brianjolly.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -25,9 +25,10 @@ Gem::Specification.new do |s|
|
|
25
25
|
"VERSION",
|
26
26
|
"ecometry.gemspec",
|
27
27
|
"lib/ecometry.rb",
|
28
|
-
"lib/layout.rb",
|
28
|
+
"lib/ecometry/layout.rb",
|
29
29
|
"test/helper.rb",
|
30
|
-
"test/test_ecometry.rb"
|
30
|
+
"test/test_ecometry.rb",
|
31
|
+
"test/test_minicart.rb"
|
31
32
|
]
|
32
33
|
s.homepage = "http://github.com/brianjolly/ecometry"
|
33
34
|
s.licenses = ["MIT"]
|
@@ -41,22 +42,22 @@ Gem::Specification.new do |s|
|
|
41
42
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
43
|
s.add_development_dependency(%q<minitest>, [">= 0"])
|
43
44
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
44
|
-
s.add_development_dependency(%q<bundler>, ["
|
45
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.21"])
|
45
46
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
46
|
-
s.add_development_dependency(%q<
|
47
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
47
48
|
else
|
48
49
|
s.add_dependency(%q<minitest>, [">= 0"])
|
49
50
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
50
|
-
s.add_dependency(%q<bundler>, ["
|
51
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.21"])
|
51
52
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
52
|
-
s.add_dependency(%q<
|
53
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
53
54
|
end
|
54
55
|
else
|
55
56
|
s.add_dependency(%q<minitest>, [">= 0"])
|
56
57
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
57
|
-
s.add_dependency(%q<bundler>, ["
|
58
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.21"])
|
58
59
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
59
|
-
s.add_dependency(%q<
|
60
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
60
61
|
end
|
61
62
|
end
|
62
63
|
|
data/lib/ecometry.rb
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
-
|
1
|
+
require 'ecometry/layout'
|
2
2
|
|
3
3
|
class Ecometry
|
4
|
+
|
5
|
+
Time::DATE_FORMATS[:year_month_day] = "%y%m%d"
|
6
|
+
Time::DATE_FORMATS[:month_day_year_with_slash] = "%m/%d/%y"
|
7
|
+
|
8
|
+
def create_blank_record
|
9
|
+
(1..320).map{' '}.join
|
10
|
+
end
|
11
|
+
|
4
12
|
def to_tapemacs fields
|
5
13
|
fields.collect do |field|
|
6
14
|
format field
|
@@ -45,11 +53,12 @@ class Ecometry
|
|
45
53
|
end
|
46
54
|
|
47
55
|
def format field
|
48
|
-
|
56
|
+
key = field[0].to_s
|
57
|
+
value = field[1].to_s
|
49
58
|
format = get_format_for field
|
50
59
|
|
51
60
|
if value.length > format[:width]
|
52
|
-
raise "The
|
61
|
+
raise "The format for #{key} only allows for a length of #{format[:width]} bytes. But '#{value}' is #{value.length} bytes"
|
53
62
|
end
|
54
63
|
|
55
64
|
case format[:justified]
|
File without changes
|
data/test/helper.rb
CHANGED
data/test/test_ecometry.rb
CHANGED
@@ -1,9 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'minitest/spec'
|
4
|
-
require 'minitest/autorun'
|
5
|
-
|
6
|
-
require_relative '../lib/ecometry'
|
1
|
+
require 'helper'
|
7
2
|
|
8
3
|
#
|
9
4
|
# NOTE
|
@@ -71,7 +66,7 @@ describe Ecometry do
|
|
71
66
|
result.must_equal "000409121234567800000005? "
|
72
67
|
end
|
73
68
|
|
74
|
-
it "converts Record Type 10" do
|
69
|
+
it "converts Record Type 10 (Buyer Information)" do
|
75
70
|
fields = {
|
76
71
|
:tf10_rec_type => '10',
|
77
72
|
:tf10_order_no => '2030919',
|
@@ -92,7 +87,7 @@ describe Ecometry do
|
|
92
87
|
result.must_equal "10 2030919188732 03/21/11MCTHOMAS HOLTZ 17130 RIDGE CANYON DR. RIVERSIDE CA92506 9517800471 "
|
93
88
|
end
|
94
89
|
|
95
|
-
it "converts Record Type 15" do
|
90
|
+
it "converts Record Type 15 (Additional Order Information)" do
|
96
91
|
fields ={
|
97
92
|
:tf15_rec_type => '15',
|
98
93
|
:tf15_order_no => '2030919',
|
@@ -107,7 +102,7 @@ describe Ecometry do
|
|
107
102
|
result.must_equal "15 2030919 302030919 JSCBATCH N 302030919 "
|
108
103
|
end
|
109
104
|
|
110
|
-
it "converts Record Type 20" do
|
105
|
+
it "converts Record Type 20 (Credit Card Information)" do
|
111
106
|
fields = {
|
112
107
|
:tf20_rec_type => '20',
|
113
108
|
:tf20_order_no => '2030919',
|
@@ -123,7 +118,7 @@ describe Ecometry do
|
|
123
118
|
|
124
119
|
end
|
125
120
|
|
126
|
-
it "converts Record Type 40" do
|
121
|
+
it "converts Record Type 40 (Line-Item Informatiion)" do
|
127
122
|
fields = {
|
128
123
|
:tf40_rec_type => '40',
|
129
124
|
:tf40_order_no => '2030919',
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Ecometry do
|
4
|
+
before do
|
5
|
+
@ecometry = Ecometry.new
|
6
|
+
@record = (1..320).map{' '}.join
|
7
|
+
end
|
8
|
+
|
9
|
+
it "converts Record Type 10" do
|
10
|
+
#customer = self.buyer_purchases[0].customer
|
11
|
+
#payment_info = self.buyer_purchases[0].payment_info
|
12
|
+
#bill_to_address = self.buyer_purchases[0].customer.bill_to_address
|
13
|
+
|
14
|
+
customer = { title: "Title", first_name: "First", last_name: "Last", day_phone: "6505551212", evening_phone: "6505551212", email: "thing@thing.com", gender: nil, accept_terms: false, created_at: "2012-04-12 01:49:06", updated_at: "2012-04-12 01:49:06", campaign_id: 1, ip_address: nil }
|
15
|
+
payment_info = { id: 313, buyer_purchase_id: nil, customer_id: 1, payment_method: "VI", encrypted_card_number: "RrlvH20mGHVf2GZXESBJ8fb8/vcCvaIxXtRedfKOlSCIY78cz6R...", expiration_date: "04/2013", security_code: "123", last_four: "1111", clear_date: nil, created_at: "2012-04-12 01:49:06", updated_at: "2012-04-12 01:49:06", expiration_month: 4, expiration_year: 2013 }
|
16
|
+
bill_to_address = { id: 980191107, first_name: "First", last_name: "Last", address_1: "Adress 1", address_2: nil, city: "City", state: "CA", zip: "12345", country: nil, type: "BillToAddress", customer_id: 1, created_at: "2012-04-12 01:49:06", updated_at: "2012-04-12 01:49:06" }
|
17
|
+
|
18
|
+
batch_header = {
|
19
|
+
:tf10_rec_type => '10',
|
20
|
+
:tf10_order_no => '2030919',
|
21
|
+
:tf10_source_offer => '188732',
|
22
|
+
:tf10_mail_date => '04/08/12',
|
23
|
+
:tf10_pay_method => payment_info[:payment_method],
|
24
|
+
:tf10_fname => customer[:first_name],
|
25
|
+
:tf10_lname => customer[:last_name],
|
26
|
+
:tf10_street => bill_to_address[:address_1],
|
27
|
+
:tf10_city => bill_to_address[:city],
|
28
|
+
:tf10_state => bill_to_address[:state],
|
29
|
+
:tf10_zip_code => bill_to_address[:zip],
|
30
|
+
:tf10_day_phone => customer[:day_phone]
|
31
|
+
}
|
32
|
+
|
33
|
+
puts batch_header
|
34
|
+
puts @record.length
|
35
|
+
|
36
|
+
result = @ecometry.insert batch_header, @record
|
37
|
+
result.must_equal = "10 2030919188732 04/08/12VIFirst Last Adress 1 City CA12345 6505551212 "
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecometry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
|
-
requirement: &
|
16
|
+
requirement: &20228140 !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: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *20228140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &20227460 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,21 +32,21 @@ dependencies:
|
|
32
32
|
version: '3.12'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *20227460
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &20226720 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 1.0.21
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *20226720
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &20226000 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.8.3
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *20226000
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
59
|
+
name: rake
|
60
|
+
requirement: &20225260 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *20225260
|
69
69
|
description: Tool for creating Ecometry batch files
|
70
70
|
email: brian@brianjolly.com
|
71
71
|
executables: []
|
@@ -82,9 +82,10 @@ files:
|
|
82
82
|
- VERSION
|
83
83
|
- ecometry.gemspec
|
84
84
|
- lib/ecometry.rb
|
85
|
-
- lib/layout.rb
|
85
|
+
- lib/ecometry/layout.rb
|
86
86
|
- test/helper.rb
|
87
87
|
- test/test_ecometry.rb
|
88
|
+
- test/test_minicart.rb
|
88
89
|
homepage: http://github.com/brianjolly/ecometry
|
89
90
|
licenses:
|
90
91
|
- MIT
|
@@ -100,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
101
|
version: '0'
|
101
102
|
segments:
|
102
103
|
- 0
|
103
|
-
hash:
|
104
|
+
hash: 3338680301523064993
|
104
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
107
|
requirements:
|