ecometry 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -8,7 +8,8 @@ source "http://rubygems.org"
8
8
  group :development do
9
9
  gem "minitest", ">= 0"
10
10
  gem "rdoc", "~> 3.12"
11
- gem "bundler"
11
+ gem "bundler", "~> 1.0.21"
12
12
  gem "jeweler", "~> 1.8.3"
13
- gem "simplecov", ">= 0"
13
+ gem "rake"
14
+
14
15
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ecometry"
8
- s.version = "0.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-10"
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>, [">= 0"])
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<simplecov>, [">= 0"])
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>, [">= 0"])
51
+ s.add_dependency(%q<bundler>, ["~> 1.0.21"])
51
52
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
52
- s.add_dependency(%q<simplecov>, [">= 0"])
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>, [">= 0"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.0.21"])
58
59
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
59
- s.add_dependency(%q<simplecov>, [">= 0"])
60
+ s.add_dependency(%q<rake>, [">= 0"])
60
61
  end
61
62
  end
62
63
 
@@ -1,6 +1,14 @@
1
- require_relative 'layout'
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
- value = field[1]
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 value #{value} is longer than it's format allows"
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
@@ -12,4 +12,5 @@ require 'minitest/autorun'
12
12
 
13
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
14
14
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
15
+
15
16
  require 'ecometry'
@@ -1,9 +1,4 @@
1
- #require 'helper'
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.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-10 00:00:00.000000000Z
12
+ date: 2012-04-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &69829994274700 !ruby/object:Gem::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: *69829994274700
24
+ version_requirements: *20228140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &69829994293300 !ruby/object:Gem::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: *69829994293300
35
+ version_requirements: *20227460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &69829994292820 !ruby/object:Gem::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: '0'
43
+ version: 1.0.21
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *69829994292820
46
+ version_requirements: *20226720
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &69829994292340 !ruby/object:Gem::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: *69829994292340
57
+ version_requirements: *20226000
58
58
  - !ruby/object:Gem::Dependency
59
- name: simplecov
60
- requirement: &69829994291860 !ruby/object:Gem::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: *69829994291860
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: 4239159454842619625
104
+ hash: 3338680301523064993
104
105
  required_rubygems_version: !ruby/object:Gem::Requirement
105
106
  none: false
106
107
  requirements: