epics 2.2.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/lib/epics/client.rb +20 -0
- data/lib/epics/version.rb +1 -1
- data/lib/epics/xe2.rb +5 -0
- data/lib/epics/xe3.rb +5 -0
- data/lib/epics/z52.rb +42 -0
- data/lib/epics/z53.rb +42 -0
- data/lib/epics/z54.rb +42 -0
- data/lib/epics.rb +5 -0
- data/spec/client_spec.rb +4 -4
- data/spec/fixtures/xml/swiss_credit_transfer.xml +69 -0
- data/spec/fixtures/xml/swiss_direct_debit.xml +104 -0
- data/spec/orders/xe2_spec.rb +17 -0
- data/spec/orders/xe3_spec.rb +17 -0
- data/spec/orders/z52_spec.rb +11 -0
- data/spec/orders/z53_spec.rb +11 -0
- data/spec/orders/z54_spec.rb +9 -0
- metadata +21 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cb98bb83470739103b20941fc4a5f636f57752d90941aa0ba9ac9e7c111503f
|
4
|
+
data.tar.gz: 134ef14259b6e5728677f45dd21446fc642f8eca7c6641e7befd537936c406b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55ba0cecabed4d9397643b0fc7116c3675dc5bdc4d076e8599812338503061fb15521164b7ee02ce42cf7aa778fa3694c6ca0d0358dcbc2684cbffdfb9888374
|
7
|
+
data.tar.gz: 1df6989cdc96ee6e68069a34bdd6496e8a739b9665ab1c68f1533dd247664a67452e0157c3b1ea6eb84e66868e7e94094c344229b598a7de862d702e46b99e86
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
### Unreleased
|
2
2
|
|
3
|
+
### 2.4.0
|
4
|
+
|
5
|
+
- [ENHANCEMENT] Adds XE2 and XE3 order type (CCT and CDD for swiss banks)
|
6
|
+
|
7
|
+
### 2.3.0
|
8
|
+
|
9
|
+
- [ENHANCEMENT] Adds Z52, Z53, Z54 order type (C52, C53, C54 for swiss banks)
|
10
|
+
|
3
11
|
### 2.2.0
|
4
12
|
|
5
|
-
- [ENHANCEMENT] Adds C2S order
|
13
|
+
- [ENHANCEMENT] Adds C2S order type
|
6
14
|
- [HOUSEKEEPING] updates nokogiri dependency
|
7
15
|
- [HOUSEKEEPING] updates rexml dependency
|
8
16
|
- [HOUSEKEEPING] adds Ruby 3.3 to CI
|
data/lib/epics/client.rb
CHANGED
@@ -137,6 +137,14 @@ class Epics::Client
|
|
137
137
|
upload(Epics::CDD, document)
|
138
138
|
end
|
139
139
|
|
140
|
+
def XE2(document)
|
141
|
+
upload(Epics::XE2, document)
|
142
|
+
end
|
143
|
+
|
144
|
+
def XE3(document)
|
145
|
+
upload(Epics::XE3, document)
|
146
|
+
end
|
147
|
+
|
140
148
|
def CDS(document)
|
141
149
|
upload(Epics::CDS, document)
|
142
150
|
end
|
@@ -185,6 +193,18 @@ class Epics::Client
|
|
185
193
|
download_and_unzip(Epics::C54, from, to)
|
186
194
|
end
|
187
195
|
|
196
|
+
def Z52(from, to)
|
197
|
+
download_and_unzip(Epics::Z52, from, to)
|
198
|
+
end
|
199
|
+
|
200
|
+
def Z53(from, to)
|
201
|
+
download_and_unzip(Epics::Z53, from, to)
|
202
|
+
end
|
203
|
+
|
204
|
+
def Z54(from, to)
|
205
|
+
download_and_unzip(Epics::Z54, from, to)
|
206
|
+
end
|
207
|
+
|
188
208
|
def HAA
|
189
209
|
Nokogiri::XML(download(Epics::HAA)).at_xpath("//xmlns:OrderTypes", xmlns: "urn:org:ebics:H004").content.split(/\s/)
|
190
210
|
end
|
data/lib/epics/version.rb
CHANGED
data/lib/epics/xe2.rb
ADDED
data/lib/epics/xe3.rb
ADDED
data/lib/epics/z52.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
class Epics::Z52 < Epics::GenericRequest
|
2
|
+
attr_accessor :from, :to
|
3
|
+
|
4
|
+
def initialize(client, from, to)
|
5
|
+
super(client)
|
6
|
+
self.from = from
|
7
|
+
self.to = to
|
8
|
+
end
|
9
|
+
|
10
|
+
def header
|
11
|
+
Nokogiri::XML::Builder.new do |xml|
|
12
|
+
xml.header(authenticate: true) {
|
13
|
+
xml.static {
|
14
|
+
xml.HostID host_id
|
15
|
+
xml.Nonce nonce
|
16
|
+
xml.Timestamp timestamp
|
17
|
+
xml.PartnerID partner_id
|
18
|
+
xml.UserID user_id
|
19
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
20
|
+
xml.OrderDetails {
|
21
|
+
xml.OrderType 'Z52'
|
22
|
+
xml.OrderAttribute 'DZHNN'
|
23
|
+
xml.StandardOrderParams {
|
24
|
+
xml.DateRange {
|
25
|
+
xml.Start from
|
26
|
+
xml.End to
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
xml.BankPubKeyDigests {
|
31
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
32
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
33
|
+
}
|
34
|
+
xml.SecurityMedium '0000'
|
35
|
+
}
|
36
|
+
xml.mutable {
|
37
|
+
xml.TransactionPhase 'Initialisation'
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end.doc.root
|
41
|
+
end
|
42
|
+
end
|
data/lib/epics/z53.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
class Epics::Z53 < Epics::GenericRequest
|
2
|
+
attr_accessor :from, :to
|
3
|
+
|
4
|
+
def initialize(client, from, to)
|
5
|
+
super(client)
|
6
|
+
self.from = from
|
7
|
+
self.to = to
|
8
|
+
end
|
9
|
+
|
10
|
+
def header
|
11
|
+
Nokogiri::XML::Builder.new do |xml|
|
12
|
+
xml.header(authenticate: true) {
|
13
|
+
xml.static {
|
14
|
+
xml.HostID host_id
|
15
|
+
xml.Nonce nonce
|
16
|
+
xml.Timestamp timestamp
|
17
|
+
xml.PartnerID partner_id
|
18
|
+
xml.UserID user_id
|
19
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
20
|
+
xml.OrderDetails {
|
21
|
+
xml.OrderType 'Z53'
|
22
|
+
xml.OrderAttribute 'DZHNN'
|
23
|
+
xml.StandardOrderParams {
|
24
|
+
xml.DateRange {
|
25
|
+
xml.Start from
|
26
|
+
xml.End to
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
xml.BankPubKeyDigests {
|
31
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
32
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
33
|
+
}
|
34
|
+
xml.SecurityMedium '0000'
|
35
|
+
}
|
36
|
+
xml.mutable {
|
37
|
+
xml.TransactionPhase 'Initialisation'
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end.doc.root
|
41
|
+
end
|
42
|
+
end
|
data/lib/epics/z54.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
class Epics::Z54 < Epics::GenericRequest
|
2
|
+
attr_accessor :from, :to
|
3
|
+
|
4
|
+
def initialize(client, from, to)
|
5
|
+
super(client)
|
6
|
+
self.from = from
|
7
|
+
self.to = to
|
8
|
+
end
|
9
|
+
|
10
|
+
def header
|
11
|
+
Nokogiri::XML::Builder.new do |xml|
|
12
|
+
xml.header(authenticate: true) {
|
13
|
+
xml.static {
|
14
|
+
xml.HostID host_id
|
15
|
+
xml.Nonce nonce
|
16
|
+
xml.Timestamp timestamp
|
17
|
+
xml.PartnerID partner_id
|
18
|
+
xml.UserID user_id
|
19
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
20
|
+
xml.OrderDetails {
|
21
|
+
xml.OrderType 'Z54'
|
22
|
+
xml.OrderAttribute 'DZHNN'
|
23
|
+
xml.StandardOrderParams {
|
24
|
+
xml.DateRange {
|
25
|
+
xml.Start from
|
26
|
+
xml.End to
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
xml.BankPubKeyDigests {
|
31
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
32
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
33
|
+
}
|
34
|
+
xml.SecurityMedium '0000'
|
35
|
+
}
|
36
|
+
xml.mutable {
|
37
|
+
xml.TransactionPhase 'Initialisation'
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end.doc.root
|
41
|
+
end
|
42
|
+
end
|
data/lib/epics.rb
CHANGED
@@ -26,6 +26,9 @@ require "epics/vmk"
|
|
26
26
|
require "epics/c52"
|
27
27
|
require "epics/c53"
|
28
28
|
require "epics/c54"
|
29
|
+
require "epics/z52"
|
30
|
+
require "epics/z53"
|
31
|
+
require "epics/z54"
|
29
32
|
require "epics/ptk"
|
30
33
|
require "epics/hac"
|
31
34
|
require "epics/hpd"
|
@@ -34,6 +37,8 @@ require "epics/cct"
|
|
34
37
|
require "epics/ccs"
|
35
38
|
require "epics/cdb"
|
36
39
|
require "epics/cdd"
|
40
|
+
require "epics/xe2"
|
41
|
+
require "epics/xe3"
|
37
42
|
require "epics/b2b"
|
38
43
|
require "epics/xds"
|
39
44
|
require "epics/cds"
|
data/spec/client_spec.rb
CHANGED
@@ -209,25 +209,25 @@ RSpec.describe Epics::Client do
|
|
209
209
|
end
|
210
210
|
end
|
211
211
|
|
212
|
-
describe '#C53/C52/C54 types with zipped data' do
|
212
|
+
describe '#C53/C52/C54/Z52/Z53/Z54 types with zipped data' do
|
213
213
|
before do
|
214
214
|
allow(subject).to receive(:download).and_return( File.read(File.join(File.dirname(__FILE__), 'fixtures', 'test.zip') ))
|
215
215
|
end
|
216
216
|
|
217
217
|
it 'will unzip the returned data' do
|
218
|
-
%w(C52 C53 C54).each do |c|
|
218
|
+
%w(C52 C53 C54 Z52 Z53 Z54).each do |c|
|
219
219
|
expect(subject.send(c, :today, :yesterday)).to eq(["ebics is great\n"])
|
220
220
|
end
|
221
221
|
end
|
222
222
|
end
|
223
223
|
|
224
|
-
describe '#C53/C52/C54 types with zipped data with general purpose bit flag 3 set' do
|
224
|
+
describe '#C53/C52/C54/Z52/Z53/Z54 types with zipped data with general purpose bit flag 3 set' do
|
225
225
|
before do
|
226
226
|
allow(subject).to receive(:download).and_return( File.read(File.join(File.dirname(__FILE__), 'fixtures', 'test_with_general_purpose_bit_3.zip') ))
|
227
227
|
end
|
228
228
|
|
229
229
|
it 'will unzip the returned data' do
|
230
|
-
%w(C52 C53 C54).each do |c|
|
230
|
+
%w(C52 C53 C54 Z52 Z53 Z54).each do |c|
|
231
231
|
expect(subject.send(c, :today, :yesterday)).to eq(["ebics is great\n"])
|
232
232
|
end
|
233
233
|
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<Document xmlns="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd pain.001.001.03.ch.02.xsd">
|
3
|
+
<CstmrCdtTrfInitn>
|
4
|
+
<GrpHdr>
|
5
|
+
<MsgId>SPS-KING/7c332aeb9ec40d29232691</MsgId>
|
6
|
+
<CreDtTm>2024-06-20T17:27:56+02:00</CreDtTm>
|
7
|
+
<NbOfTxs>1</NbOfTxs>
|
8
|
+
<CtrlSum>102.50</CtrlSum>
|
9
|
+
<InitgPty>
|
10
|
+
<Nm>Schuldner GmbH</Nm>
|
11
|
+
</InitgPty>
|
12
|
+
</GrpHdr>
|
13
|
+
<PmtInf>
|
14
|
+
<PmtInfId>SPS-KING/7c332aeb9ec40d29232691/1</PmtInfId>
|
15
|
+
<PmtMtd>TRF</PmtMtd>
|
16
|
+
<BtchBookg>false</BtchBookg>
|
17
|
+
<NbOfTxs>1</NbOfTxs>
|
18
|
+
<CtrlSum>102.50</CtrlSum>
|
19
|
+
<PmtTpInf>
|
20
|
+
<SvcLvl>
|
21
|
+
<Cd>SEPA</Cd>
|
22
|
+
</SvcLvl>
|
23
|
+
</PmtTpInf>
|
24
|
+
<ReqdExctnDt>1999-01-01</ReqdExctnDt>
|
25
|
+
<Dbtr>
|
26
|
+
<Nm>Schuldner GmbH</Nm>
|
27
|
+
</Dbtr>
|
28
|
+
<DbtrAcct>
|
29
|
+
<Id>
|
30
|
+
<IBAN>CH5481230000001998736</IBAN>
|
31
|
+
</Id>
|
32
|
+
</DbtrAcct>
|
33
|
+
<DbtrAgt>
|
34
|
+
<FinInstnId>
|
35
|
+
<BIC>RAIFCH22</BIC>
|
36
|
+
</FinInstnId>
|
37
|
+
</DbtrAgt>
|
38
|
+
<ChrgBr>SLEV</ChrgBr>
|
39
|
+
<CdtTrfTxInf>
|
40
|
+
<PmtId>
|
41
|
+
<EndToEndId>NOTPROVIDED</EndToEndId>
|
42
|
+
</PmtId>
|
43
|
+
<Amt>
|
44
|
+
<InstdAmt Ccy="CHR">102.50</InstdAmt>
|
45
|
+
</Amt>
|
46
|
+
<CdtrAgt>
|
47
|
+
<FinInstnId>
|
48
|
+
<BIC>CRESCHZZ80A</BIC>
|
49
|
+
</FinInstnId>
|
50
|
+
</CdtrAgt>
|
51
|
+
<Cdtr>
|
52
|
+
<Nm>Contoso AG</Nm>
|
53
|
+
<PstlAdr>
|
54
|
+
<StrtNm>Mustergasse</StrtNm>
|
55
|
+
<BldgNb>123a</BldgNb>
|
56
|
+
<PstCd>1234</PstCd>
|
57
|
+
<TwnNm>Musterstadt</TwnNm>
|
58
|
+
<Ctry>CH</Ctry>
|
59
|
+
</PstlAdr>
|
60
|
+
</Cdtr>
|
61
|
+
<CdtrAcct>
|
62
|
+
<Id>
|
63
|
+
<IBAN>CH9300762011623852957</IBAN>
|
64
|
+
</Id>
|
65
|
+
</CdtrAcct>
|
66
|
+
</CdtTrfTxInf>
|
67
|
+
</PmtInf>
|
68
|
+
</CstmrCdtTrfInitn>
|
69
|
+
</Document>
|
@@ -0,0 +1,104 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<Document xmlns="http://www.six-interbank-clearing.com/de/pain.008.001.02.ch.03.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.six-interbank-clearing.com/de/pain.008.001.02.ch.03.xsd pain.008.001.02.ch.03.xsd">
|
3
|
+
<CstmrDrctDbtInitn>
|
4
|
+
<GrpHdr>
|
5
|
+
<MsgId>SPS-KING/c1e3bcc1a22c941e6c631b</MsgId>
|
6
|
+
<CreDtTm>2024-06-20T17:43:31+02:00</CreDtTm>
|
7
|
+
<NbOfTxs>1</NbOfTxs>
|
8
|
+
<CtrlSum>39.99</CtrlSum>
|
9
|
+
<InitgPty>
|
10
|
+
<Nm>Glaubiger GmbH</Nm>
|
11
|
+
<Id>
|
12
|
+
<OrgId>
|
13
|
+
<Othr>
|
14
|
+
<Id>ABC1W</Id>
|
15
|
+
</Othr>
|
16
|
+
</OrgId>
|
17
|
+
</Id>
|
18
|
+
</InitgPty>
|
19
|
+
</GrpHdr>
|
20
|
+
<PmtInf>
|
21
|
+
<PmtInfId>SPS-KING/c1e3bcc1a22c941e6c631b/1</PmtInfId>
|
22
|
+
<PmtMtd>DD</PmtMtd>
|
23
|
+
<PmtTpInf>
|
24
|
+
<SvcLvl>
|
25
|
+
<Prtry>CHTA</Prtry>
|
26
|
+
</SvcLvl>
|
27
|
+
<LclInstrm>
|
28
|
+
<Prtry>LSV+</Prtry>
|
29
|
+
</LclInstrm>
|
30
|
+
</PmtTpInf>
|
31
|
+
<ReqdColltnDt>1999-01-01</ReqdColltnDt>
|
32
|
+
<Cdtr>
|
33
|
+
<Nm>Glaubiger GmbH</Nm>
|
34
|
+
</Cdtr>
|
35
|
+
<CdtrAcct>
|
36
|
+
<Id>
|
37
|
+
<IBAN>CH7081232000001998736</IBAN>
|
38
|
+
</Id>
|
39
|
+
</CdtrAcct>
|
40
|
+
<CdtrAgt>
|
41
|
+
<FinInstnId>
|
42
|
+
<ClrSysMmbId>
|
43
|
+
<MmbId>81232</MmbId>
|
44
|
+
</ClrSysMmbId>
|
45
|
+
<Othr>
|
46
|
+
<Id>010001456</Id>
|
47
|
+
</Othr>
|
48
|
+
</FinInstnId>
|
49
|
+
</CdtrAgt>
|
50
|
+
<CdtrSchmeId>
|
51
|
+
<Id>
|
52
|
+
<PrvtId>
|
53
|
+
<Othr>
|
54
|
+
<Id>ABC1W</Id>
|
55
|
+
<SchmeNm>
|
56
|
+
<Prtry>CHLS</Prtry>
|
57
|
+
</SchmeNm>
|
58
|
+
</Othr>
|
59
|
+
</PrvtId>
|
60
|
+
</Id>
|
61
|
+
</CdtrSchmeId>
|
62
|
+
<DrctDbtTxInf>
|
63
|
+
<PmtId>
|
64
|
+
<InstrId>12345</InstrId>
|
65
|
+
<EndToEndId>XYZ/2013-08-ABO/6789</EndToEndId>
|
66
|
+
</PmtId>
|
67
|
+
<InstdAmt Ccy="CHF">39.99</InstdAmt>
|
68
|
+
<DbtrAgt>
|
69
|
+
<FinInstnId>
|
70
|
+
<ClrSysMmbId>
|
71
|
+
<MmbId>4835</MmbId>
|
72
|
+
</ClrSysMmbId>
|
73
|
+
</FinInstnId>
|
74
|
+
</DbtrAgt>
|
75
|
+
<Dbtr>
|
76
|
+
<Nm>Zahlemann Soehne GbR</Nm>
|
77
|
+
<PstlAdr>
|
78
|
+
<StrtNm>Mustergasse</StrtNm>
|
79
|
+
<PstCd>1234</PstCd>
|
80
|
+
<TwnNm>Musterstadt</TwnNm>
|
81
|
+
<Ctry>CH</Ctry>
|
82
|
+
</PstlAdr>
|
83
|
+
</Dbtr>
|
84
|
+
<DbtrAcct>
|
85
|
+
<Id>
|
86
|
+
<IBAN>CH9804835011062385295</IBAN>
|
87
|
+
</Id>
|
88
|
+
</DbtrAcct>
|
89
|
+
<RmtInf>
|
90
|
+
<Strd>
|
91
|
+
<CdtrRefInf>
|
92
|
+
<Tp>
|
93
|
+
<CdOrPrtry>
|
94
|
+
<Prtry>ESR</Prtry>
|
95
|
+
</CdOrPrtry>
|
96
|
+
</Tp>
|
97
|
+
<Ref>609323234234234353453423423</Ref>
|
98
|
+
</CdtrRefInf>
|
99
|
+
</Strd>
|
100
|
+
</RmtInf>
|
101
|
+
</DrctDbtTxInf>
|
102
|
+
</PmtInf>
|
103
|
+
</CstmrDrctDbtInitn>
|
104
|
+
</Document>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
RSpec.describe Epics::XE2 do
|
2
|
+
|
3
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
4
|
+
let(:document) { File.read( File.join( File.dirname(__FILE__), '..', 'fixtures', 'xml', 'swiss_credit_transfer.xml') ) }
|
5
|
+
subject { described_class.new(client, document) }
|
6
|
+
|
7
|
+
describe '#to_xml' do
|
8
|
+
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#to_transfer_xml' do
|
12
|
+
before { subject.transaction_id = SecureRandom.hex(16) }
|
13
|
+
|
14
|
+
specify { expect(subject.to_transfer_xml).to be_a_valid_ebics_doc }
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
RSpec.describe Epics::XE3 do
|
2
|
+
|
3
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
4
|
+
let(:document) { File.read( File.join( File.dirname(__FILE__), '..', 'fixtures', 'xml', 'swiss_direct_debit.xml') ) }
|
5
|
+
subject { described_class.new(client, document) }
|
6
|
+
|
7
|
+
describe '#to_xml' do
|
8
|
+
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#to_transfer_xml' do
|
12
|
+
before { subject.transaction_id = SecureRandom.hex(16) }
|
13
|
+
|
14
|
+
specify { expect(subject.to_transfer_xml).to be_a_valid_ebics_doc }
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
RSpec.describe Epics::Z52 do
|
2
|
+
|
3
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
4
|
+
|
5
|
+
subject { described_class.new(client, "2014-09-01", "2014-09-30") }
|
6
|
+
|
7
|
+
describe '#to_xml' do
|
8
|
+
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
RSpec.describe Epics::Z53 do
|
2
|
+
|
3
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
4
|
+
|
5
|
+
subject { described_class.new(client, "2014-09-01", "2014-09-30") }
|
6
|
+
|
7
|
+
describe '#to_xml' do
|
8
|
+
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
RSpec.describe Epics::Z54 do
|
2
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
3
|
+
|
4
|
+
subject { described_class.new(client, "2014-09-01", "2014-09-30") }
|
5
|
+
|
6
|
+
describe '#to_xml' do
|
7
|
+
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|
8
|
+
end
|
9
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Brillert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -215,6 +215,11 @@ files:
|
|
215
215
|
- lib/epics/vmk.rb
|
216
216
|
- lib/epics/xct.rb
|
217
217
|
- lib/epics/xds.rb
|
218
|
+
- lib/epics/xe2.rb
|
219
|
+
- lib/epics/xe3.rb
|
220
|
+
- lib/epics/z52.rb
|
221
|
+
- lib/epics/z53.rb
|
222
|
+
- lib/epics/z54.rb
|
218
223
|
- lib/letter/ini.erb
|
219
224
|
- spec/.DS_Store
|
220
225
|
- spec/client_spec.rb
|
@@ -252,6 +257,8 @@ files:
|
|
252
257
|
- spec/fixtures/xml/signature_pub_key_order_data.xml
|
253
258
|
- spec/fixtures/xml/sta_response.xml
|
254
259
|
- spec/fixtures/xml/sta_response_continued.xml
|
260
|
+
- spec/fixtures/xml/swiss_credit_transfer.xml
|
261
|
+
- spec/fixtures/xml/swiss_direct_debit.xml
|
255
262
|
- spec/fixtures/xml/upload_init_response.xml
|
256
263
|
- spec/generic_upload_spec.rb
|
257
264
|
- spec/hpb_spec.rb
|
@@ -282,6 +289,11 @@ files:
|
|
282
289
|
- spec/orders/sta_spec.rb
|
283
290
|
- spec/orders/vmk_spec.rb
|
284
291
|
- spec/orders/xds_spec.rb
|
292
|
+
- spec/orders/xe2_spec.rb
|
293
|
+
- spec/orders/xe3_spec.rb
|
294
|
+
- spec/orders/z52_spec.rb
|
295
|
+
- spec/orders/z53_spec.rb
|
296
|
+
- spec/orders/z54_spec.rb
|
285
297
|
- spec/response_spec.rb
|
286
298
|
- spec/signer_spec.rb
|
287
299
|
- spec/spec_helper.rb
|
@@ -362,6 +374,8 @@ test_files:
|
|
362
374
|
- spec/fixtures/xml/signature_pub_key_order_data.xml
|
363
375
|
- spec/fixtures/xml/sta_response.xml
|
364
376
|
- spec/fixtures/xml/sta_response_continued.xml
|
377
|
+
- spec/fixtures/xml/swiss_credit_transfer.xml
|
378
|
+
- spec/fixtures/xml/swiss_direct_debit.xml
|
365
379
|
- spec/fixtures/xml/upload_init_response.xml
|
366
380
|
- spec/generic_upload_spec.rb
|
367
381
|
- spec/hpb_spec.rb
|
@@ -392,6 +406,11 @@ test_files:
|
|
392
406
|
- spec/orders/sta_spec.rb
|
393
407
|
- spec/orders/vmk_spec.rb
|
394
408
|
- spec/orders/xds_spec.rb
|
409
|
+
- spec/orders/xe2_spec.rb
|
410
|
+
- spec/orders/xe3_spec.rb
|
411
|
+
- spec/orders/z52_spec.rb
|
412
|
+
- spec/orders/z53_spec.rb
|
413
|
+
- spec/orders/z54_spec.rb
|
395
414
|
- spec/response_spec.rb
|
396
415
|
- spec/signer_spec.rb
|
397
416
|
- spec/spec_helper.rb
|