epics 2.2.0 → 2.4.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.
- 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
|