king_dtaus 2.0.0.pre → 2.0.0
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/.travis.yml +3 -0
- data/Gemfile +5 -1
- data/README.markdown +128 -0
- data/Rakefile +7 -2
- data/VERSION +1 -1
- data/king_dtaus.gemspec +12 -13
- data/lib/king_dta/account.rb +30 -30
- data/lib/king_dta/dta.rb +10 -0
- data/lib/king_dta/dtaus.rb +125 -134
- data/lib/king_dta/dtazv.rb +183 -221
- data/lib/king_dta/helper.rb +3 -1
- data/lib/king_dtaus.rb +1 -0
- data/spec/account_spec.rb +65 -117
- data/spec/booking_spec.rb +1 -3
- data/spec/dtaus_spec.rb +35 -12
- data/spec/dtazv_spec.rb +77 -176
- data/spec/spec_helper.rb +43 -66
- metadata +48 -31
- data/.rvmrc +0 -1
- data/DTAUS0.TXT +0 -1
- data/Gemfile.lock +0 -38
- data/README.rdoc +0 -119
- data/spec/dtazv_test.rb +0 -105
- /data/{example.output → docs/example.output} +0 -0
metadata
CHANGED
@@ -1,89 +1,109 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: king_dtaus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 2
|
7
8
|
- 0
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 2.0.0.pre
|
10
|
+
version: 2.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Georg Leciejewski
|
14
14
|
- Georg Ledermann
|
15
|
+
- Jan Kus
|
15
16
|
autorequire:
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
19
|
|
19
|
-
date: 2011-
|
20
|
+
date: 2011-11-15 00:00:00 +01:00
|
20
21
|
default_executable:
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|
23
|
-
|
24
|
+
type: :runtime
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
26
|
none: false
|
26
27
|
requirements:
|
27
28
|
- - ">="
|
28
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 3
|
29
31
|
segments:
|
30
32
|
- 0
|
31
33
|
version: "0"
|
32
|
-
|
33
|
-
prerelease: false
|
34
|
+
name: king_dtaus
|
34
35
|
version_requirements: *id001
|
36
|
+
prerelease: false
|
35
37
|
- !ruby/object:Gem::Dependency
|
36
|
-
|
38
|
+
type: :development
|
37
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
40
|
none: false
|
39
41
|
requirements:
|
40
42
|
- - ">="
|
41
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
42
45
|
segments:
|
43
46
|
- 0
|
44
47
|
version: "0"
|
45
|
-
|
46
|
-
prerelease: false
|
48
|
+
name: rspec
|
47
49
|
version_requirements: *id002
|
50
|
+
prerelease: false
|
48
51
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
52
|
+
type: :development
|
50
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
51
54
|
none: false
|
52
55
|
requirements:
|
53
56
|
- - ">="
|
54
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
55
59
|
segments:
|
56
60
|
- 0
|
57
61
|
version: "0"
|
58
|
-
|
59
|
-
prerelease: false
|
62
|
+
name: jeweler
|
60
63
|
version_requirements: *id003
|
64
|
+
prerelease: false
|
61
65
|
- !ruby/object:Gem::Dependency
|
62
|
-
|
66
|
+
type: :development
|
63
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
64
68
|
none: false
|
65
69
|
requirements:
|
66
70
|
- - ">="
|
67
71
|
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
68
73
|
segments:
|
69
74
|
- 0
|
70
75
|
version: "0"
|
71
|
-
|
72
|
-
prerelease: false
|
76
|
+
name: simplecov
|
73
77
|
version_requirements: *id004
|
78
|
+
prerelease: false
|
74
79
|
- !ruby/object:Gem::Dependency
|
75
|
-
|
80
|
+
type: :development
|
76
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
77
82
|
none: false
|
78
83
|
requirements:
|
79
84
|
- - ">="
|
80
85
|
- !ruby/object:Gem::Version
|
86
|
+
hash: 3
|
81
87
|
segments:
|
82
88
|
- 0
|
83
89
|
version: "0"
|
90
|
+
name: mocha
|
91
|
+
version_requirements: *id005
|
92
|
+
prerelease: false
|
93
|
+
- !ruby/object:Gem::Dependency
|
84
94
|
type: :development
|
95
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
hash: 3
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
version: "0"
|
104
|
+
name: i18n
|
105
|
+
version_requirements: *id006
|
85
106
|
prerelease: false
|
86
|
-
version_requirements: *id005
|
87
107
|
description: DTAUS is a text-based format, to create bank transfers for german banks. This gem helps with the creation of those transfer files.
|
88
108
|
email: gl@salesking.eu
|
89
109
|
executables: []
|
@@ -91,19 +111,17 @@ executables: []
|
|
91
111
|
extensions: []
|
92
112
|
|
93
113
|
extra_rdoc_files:
|
94
|
-
- README.
|
114
|
+
- README.markdown
|
95
115
|
files:
|
96
|
-
- .
|
97
|
-
- DTAUS0.TXT
|
116
|
+
- .travis.yml
|
98
117
|
- Gemfile
|
99
|
-
- Gemfile.lock
|
100
118
|
- MIT-LICENSE
|
101
|
-
- README.
|
119
|
+
- README.markdown
|
102
120
|
- Rakefile
|
103
121
|
- VERSION
|
104
122
|
- docs/dtazv.pdf
|
105
123
|
- docs/dtazv_bank_bbk.pdf
|
106
|
-
- example.output
|
124
|
+
- docs/example.output
|
107
125
|
- king_dtaus.gemspec
|
108
126
|
- lib/king_dta/account.rb
|
109
127
|
- lib/king_dta/booking.rb
|
@@ -117,7 +135,6 @@ files:
|
|
117
135
|
- spec/booking_spec.rb
|
118
136
|
- spec/dtaus_spec.rb
|
119
137
|
- spec/dtazv_spec.rb
|
120
|
-
- spec/dtazv_test.rb
|
121
138
|
- spec/helper_spec.rb
|
122
139
|
- spec/spec_helper.rb
|
123
140
|
has_rdoc: true
|
@@ -134,23 +151,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
134
151
|
requirements:
|
135
152
|
- - ">="
|
136
153
|
- !ruby/object:Gem::Version
|
154
|
+
hash: 3
|
137
155
|
segments:
|
138
156
|
- 0
|
139
157
|
version: "0"
|
140
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
159
|
none: false
|
142
160
|
requirements:
|
143
|
-
- - "
|
161
|
+
- - ">="
|
144
162
|
- !ruby/object:Gem::Version
|
163
|
+
hash: 3
|
145
164
|
segments:
|
146
|
-
-
|
147
|
-
|
148
|
-
- 1
|
149
|
-
version: 1.3.1
|
165
|
+
- 0
|
166
|
+
version: "0"
|
150
167
|
requirements: []
|
151
168
|
|
152
169
|
rubyforge_project:
|
153
|
-
rubygems_version: 1.
|
170
|
+
rubygems_version: 1.6.2
|
154
171
|
signing_key:
|
155
172
|
specification_version: 3
|
156
173
|
summary: Generate DTAUS strings and files
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use --create ree@dtazv
|
data/DTAUS0.TXT
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11060801110608N0000000000 0768T37050299EUR132604963411060800000000 0000000000MARKF1100 DE FIDEL CASTRO BUSH-AVENUE 55 445555 KUBA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000256Z000000000000220000000000000001
|
data/Gemfile.lock
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
king_dtaus (1.0.2)
|
5
|
-
king_dtaus
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: http://rubygems.org/
|
9
|
-
specs:
|
10
|
-
diff-lcs (1.1.2)
|
11
|
-
git (1.2.5)
|
12
|
-
jeweler (1.6.2)
|
13
|
-
bundler (~> 1.0)
|
14
|
-
git (>= 1.2.5)
|
15
|
-
rake
|
16
|
-
mocha (0.9.12)
|
17
|
-
rake (0.9.1)
|
18
|
-
rspec (2.6.0)
|
19
|
-
rspec-core (~> 2.6.0)
|
20
|
-
rspec-expectations (~> 2.6.0)
|
21
|
-
rspec-mocks (~> 2.6.0)
|
22
|
-
rspec-core (2.6.3)
|
23
|
-
rspec-expectations (2.6.0)
|
24
|
-
diff-lcs (~> 1.1.2)
|
25
|
-
rspec-mocks (2.6.0)
|
26
|
-
simplecov (0.4.2)
|
27
|
-
simplecov-html (~> 0.4.4)
|
28
|
-
simplecov-html (0.4.5)
|
29
|
-
|
30
|
-
PLATFORMS
|
31
|
-
ruby
|
32
|
-
|
33
|
-
DEPENDENCIES
|
34
|
-
jeweler
|
35
|
-
king_dtaus!
|
36
|
-
mocha
|
37
|
-
rspec
|
38
|
-
simplecov
|
data/README.rdoc
DELETED
@@ -1,119 +0,0 @@
|
|
1
|
-
= DTAUS & DTAZV always comes together
|
2
|
-
|
3
|
-
DTAUS & DTAZV are formats for German bank transfers and is short for
|
4
|
-
"Datenträgeraustausch". The format itself totally sucks because it was
|
5
|
-
established in the last century, to be used on floppy disks. Still almost
|
6
|
-
all German banks use it (they only seem innovative at robbing), and it is
|
7
|
-
therefore supported in common banking programs too.
|
8
|
-
|
9
|
-
This gem saves you all the trouble when generating DTAUS- or DTAZV-text.
|
10
|
-
|
11
|
-
We love building payment applications
|
12
|
-
|
13
|
-
== Install
|
14
|
-
|
15
|
-
gem install king_dtaus
|
16
|
-
|
17
|
-
== Features
|
18
|
-
|
19
|
-
* create DTAUS debit advice (Lastschrift)
|
20
|
-
* create DTAUS credit advice (Gutschrift)
|
21
|
-
* create DTAZV debit advice
|
22
|
-
|
23
|
-
== TODOs
|
24
|
-
|
25
|
-
* first gem with no todo's - never seen it, huh?
|
26
|
-
|
27
|
-
== Resources
|
28
|
-
|
29
|
-
* DTAZV-Viewer: http://www.meta-evolutions.de/pages/artikel-20070630-dtazv-datei-betrachter.html
|
30
|
-
* DTA/DTAZV PHP Pear: http://pear.php.net/package/Payment_DTA
|
31
|
-
* Ruby Kernel Module: http://www.ruby-doc.org/core/classes/Kernel.html
|
32
|
-
* Windata ZV-Tools: http://www.windata.de/Site/2Produkte2/ZVTools.aspx
|
33
|
-
* The Swift Codes: http://www.theswiftcodes.com/
|
34
|
-
* StarMoney: http://www.starmoney.de/index.php?id=starmoneybusiness_testen
|
35
|
-
* SalesKing: http://salesking.eu
|
36
|
-
|
37
|
-
== Examples
|
38
|
-
|
39
|
-
Here are some examples how to create a DTA- or DTAZV-File. Also check out the spec/dtazv_test.rb to have a running Example of an Export.
|
40
|
-
|
41
|
-
=== DTA
|
42
|
-
|
43
|
-
# create a new dtaus object
|
44
|
-
dta = KingDta::Dtaus.new('LK')
|
45
|
-
# set sender account
|
46
|
-
dta.account = KingDta::Account.new(:account_number => @kto1.account_number, :bank_number => @kto1.bank_number, :client_name => @kto1.client_name, :bank_name => @kto1.bank_name)
|
47
|
-
# the following should be done in a loop to add multiple bookings
|
48
|
-
# create receiving account
|
49
|
-
rec_acnt = KingDta::Account.new(:account_number => @kto1.account_number, :bank_number => @kto1.bank_number, :client_name => @kto1.client_name, :bank_name => @kto1.bank_name)
|
50
|
-
# create booking
|
51
|
-
booking = KingDta::Booking.new(rec_acnt, 100.00 )
|
52
|
-
# set booking text if you want to
|
53
|
-
booking.text = "Thanks for your purchase"
|
54
|
-
# add booking
|
55
|
-
dta.add( booking )
|
56
|
-
# end loop
|
57
|
-
|
58
|
-
# create datausstring and do with it whatever fits your workflow
|
59
|
-
my_str = dta.create
|
60
|
-
|
61
|
-
=== DTAZV
|
62
|
-
|
63
|
-
@date = Date.today
|
64
|
-
@dudes_dtazv_export = KingDta::Dtazv.new(@date)
|
65
|
-
@dudes_konto = self.dudes_konto
|
66
|
-
@dalai_lamas_account = self.dalai_lamas_account
|
67
|
-
@dudes_dtazv_export.account = KingDta::Account.new(
|
68
|
-
:account_number => @dudes_konto.account_number,
|
69
|
-
:bank_number => @dudes_konto.bank_number,
|
70
|
-
:client_name => @dudes_konto.client_name,
|
71
|
-
:client_number => @dudes_konto.client_number,
|
72
|
-
:bank_street => @dudes_konto.account_street,
|
73
|
-
:bank_city => @dudes_konto.account_city,
|
74
|
-
:bank_zip_code => @dudes_konto.account_zip_code,
|
75
|
-
:bank_name => @dudes_konto.bank_name,
|
76
|
-
:client_street => @dudes_konto.client_street,
|
77
|
-
:client_city => @dudes_konto.client_city,
|
78
|
-
:client_zip_code => @dudes_konto.client_zip_code,
|
79
|
-
:bank_country_code => @dudes_konto.bank_country_code,
|
80
|
-
:client_country_code => @dudes_konto.client_country_code
|
81
|
-
)
|
82
|
-
|
83
|
-
@fidel_castros_booking = KingDta::Booking.new(KingDta::Account.new(
|
84
|
-
:account_number => @dalai_lamas_account.account_number,
|
85
|
-
:bank_number => @dalai_lamas_account.bank_number,
|
86
|
-
:client_name => @dalai_lamas_account.client_name,
|
87
|
-
:client_number => @dalai_lamas_account.bank_name,
|
88
|
-
:bank_street => @dalai_lamas_account.account_street,
|
89
|
-
:bank_city => @dalai_lamas_account.account_city,
|
90
|
-
:bank_zip_code => @dalai_lamas_account.account_zip_code,
|
91
|
-
:bank_name => @dalai_lamas_account.bank_name,
|
92
|
-
:client_street => @dalai_lamas_account.client_street,
|
93
|
-
:client_city => @dalai_lamas_account.client_city,
|
94
|
-
:client_zip_code => @dalai_lamas_account.client_zip_code,
|
95
|
-
:bank_country_code => @dalai_lamas_account.bank_country_code,
|
96
|
-
:client_country_code => @dalai_lamas_account.client_country_code
|
97
|
-
), 220.25)
|
98
|
-
|
99
|
-
@dudes_dtazv_export.add(@fidel_castros_booking)
|
100
|
-
@dudes_dtazv_export.create_file
|
101
|
-
|
102
|
-
# Output is DTAZV0.TXT
|
103
|
-
|
104
|
-
also make sure to read the specs
|
105
|
-
|
106
|
-
== Credits
|
107
|
-
|
108
|
-
Bugfixes and enhancements by
|
109
|
-
|
110
|
-
* Georg Ledermann - https://github.com/ledermann
|
111
|
-
* Kim Rudolph - https://github.com/krudolph
|
112
|
-
* Thorsten Böttger - https://github.com/alto
|
113
|
-
* Jan Kus - https://github.com/koos
|
114
|
-
|
115
|
-
This gem used https://rubygems.org/gems/DTAUS as a starting point.
|
116
|
-
It was disected, turned into a real class structure, bugs where fixed and
|
117
|
-
of course a full test suite ensures its functionality.
|
118
|
-
|
119
|
-
Copyright (c) 2009-2011 Georg Leciejewski (SalesKing), Jan Kus (Railslove), released under the MIT license
|
data/spec/dtazv_test.rb
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__))
|
2
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
-
|
4
|
-
require 'rubygems'
|
5
|
-
require "king_dtaus"
|
6
|
-
require 'rspec'
|
7
|
-
require 'ostruct'
|
8
|
-
require 'date'
|
9
|
-
|
10
|
-
class Dtazv
|
11
|
-
|
12
|
-
def dudes_konto
|
13
|
-
opts = {
|
14
|
-
:account_number => '1326049634',
|
15
|
-
:bank_number => '37050299',
|
16
|
-
:bank_name => 'Kreissparkasse Köln',
|
17
|
-
:zweck => 'Monatsbeitrag',
|
18
|
-
:account_street => "Bank Eine Straße 2",
|
19
|
-
:account_city => "Bank Köln",
|
20
|
-
:account_zip_code => "51063",
|
21
|
-
:client_number => "",
|
22
|
-
:client_name =>'Jan Kus',
|
23
|
-
:client_street => "Meine Eine Straße 2",
|
24
|
-
:client_city => "Meine Köln",
|
25
|
-
:client_zip_code => "51063",
|
26
|
-
:bank_country_code => "DE",
|
27
|
-
:client_country_code => "DE"
|
28
|
-
}
|
29
|
-
TestKonto.new(opts)
|
30
|
-
end
|
31
|
-
|
32
|
-
def dalai_lamas_account
|
33
|
-
opts = {
|
34
|
-
:account_number => 'GR1601101250000000012300695',
|
35
|
-
:bank_number => 'MARKF1100',
|
36
|
-
:bank_name => 'Kuba National Bank',
|
37
|
-
:zweck => 'President-Fee',
|
38
|
-
:account_street => "5th avenue",
|
39
|
-
:account_city => "los angeles",
|
40
|
-
:account_zip_code => "55323",
|
41
|
-
:client_number => "",
|
42
|
-
:client_name =>'Fidel Castro',
|
43
|
-
:client_street => "Bush-Avenue 55",
|
44
|
-
:client_city => "Kuba",
|
45
|
-
:client_zip_code => "066600",
|
46
|
-
:client_zip_code => "445555",
|
47
|
-
:bank_country_code => "DE",
|
48
|
-
:client_country_code => "DE"
|
49
|
-
}
|
50
|
-
TestKonto.new(opts)
|
51
|
-
end
|
52
|
-
|
53
|
-
# The DTAVZ format as string. All data is appended to it during creation
|
54
|
-
def dta_string
|
55
|
-
@dta_string ||= ''
|
56
|
-
end
|
57
|
-
|
58
|
-
def create_dtazv
|
59
|
-
@date = Date.today
|
60
|
-
@dudes_dtazv_export = KingDta::Dtazv.new(@date)
|
61
|
-
@dudes_konto = self.dudes_konto
|
62
|
-
@dalai_lamas_account = self.dalai_lamas_account
|
63
|
-
@dudes_dtazv_export.account = KingDta::Account.new(
|
64
|
-
@dudes_konto.account_number,
|
65
|
-
@dudes_konto.bank_number,
|
66
|
-
@dudes_konto.client_name,
|
67
|
-
@dudes_konto.client_number,
|
68
|
-
@dudes_konto.account_street,
|
69
|
-
@dudes_konto.account_city,
|
70
|
-
@dudes_konto.account_zip_code,
|
71
|
-
@dudes_konto.bank_name,
|
72
|
-
@dudes_konto.client_street,
|
73
|
-
@dudes_konto.client_city,
|
74
|
-
@dudes_konto.client_zip_code,
|
75
|
-
@dudes_konto.bank_country_code,
|
76
|
-
@dudes_konto.client_country_code
|
77
|
-
)
|
78
|
-
|
79
|
-
@fidel_castros_booking = KingDta::Booking.new(KingDta::Account.new(
|
80
|
-
@dalai_lamas_account.account_number,
|
81
|
-
@dalai_lamas_account.bank_number,
|
82
|
-
@dalai_lamas_account.client_name,
|
83
|
-
@dalai_lamas_account.bank_name,
|
84
|
-
@dalai_lamas_account.account_street,
|
85
|
-
@dalai_lamas_account.account_city,
|
86
|
-
@dalai_lamas_account.account_zip_code,
|
87
|
-
@dalai_lamas_account.bank_name,
|
88
|
-
@dalai_lamas_account.client_street,
|
89
|
-
@dalai_lamas_account.client_city,
|
90
|
-
@dalai_lamas_account.client_zip_code,
|
91
|
-
@dalai_lamas_account.bank_country_code,
|
92
|
-
@dalai_lamas_account.client_country_code
|
93
|
-
), 220.25)
|
94
|
-
|
95
|
-
@dudes_dtazv_export.add(@fidel_castros_booking)
|
96
|
-
@dudes_dtazv_export.create_file
|
97
|
-
end
|
98
|
-
|
99
|
-
# the test account responds to everything
|
100
|
-
class TestKonto < OpenStruct; end
|
101
|
-
|
102
|
-
end
|
103
|
-
|
104
|
-
d = Dtazv.new
|
105
|
-
d.create_dtazv
|
File without changes
|