epics 1.5.1 → 1.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +6 -0
- data/epics.gemspec +0 -1
- data/lib/epics.rb +0 -1
- data/lib/epics/azv.rb +26 -37
- data/lib/epics/c52.rb +26 -36
- data/lib/epics/c53.rb +26 -36
- data/lib/epics/c54.rb +26 -36
- data/lib/epics/cct.rb +24 -36
- data/lib/epics/cd1.rb +24 -36
- data/lib/epics/cdb.rb +24 -36
- data/lib/epics/cdd.rb +24 -35
- data/lib/epics/client.rb +8 -3
- data/lib/epics/generic_request.rb +54 -79
- data/lib/epics/generic_upload_request.rb +19 -27
- data/lib/epics/haa.rb +23 -34
- data/lib/epics/hac.rb +32 -41
- data/lib/epics/hia.rb +49 -57
- data/lib/epics/hkd.rb +23 -34
- data/lib/epics/hpb.rb +18 -21
- data/lib/epics/hpd.rb +23 -34
- data/lib/epics/htd.rb +23 -34
- data/lib/epics/ini.rb +43 -50
- data/lib/epics/ptk.rb +32 -38
- data/lib/epics/sta.rb +32 -41
- data/lib/epics/version.rb +1 -1
- data/lib/epics/vmk.rb +32 -41
- data/spec/client_spec.rb +14 -0
- data/spec/fixtures/xml/haa.xml +2 -0
- data/spec/fixtures/xml/haa_receipt.xml +31 -0
- data/spec/fixtures/xml/jruby/hia.xml +2 -0
- data/spec/fixtures/xml/jruby/ini.xml +2 -0
- data/spec/fixtures/xml/ruby/hia.xml +2 -0
- data/spec/fixtures/xml/ruby/ini.xml +2 -0
- data/spec/orders/azv_spec.rb +18 -0
- data/spec/orders/c54_spec.rb +0 -2
- data/spec/orders/haa_spec.rb +23 -1
- data/spec/orders/hia_spec.rb +1 -4
- data/spec/orders/ini_spec.rb +2 -6
- data/spec/orders/ptk_spec.rb +1 -3
- data/spec/orders/vmk_spec.rb +9 -0
- metadata +19 -23
- data/spec/fixtures/xml/hia.xml +0 -2
- data/spec/fixtures/xml/ini.xml +0 -2
data/lib/epics/hac.rb
CHANGED
@@ -10,49 +10,40 @@ class Epics::HAC < Epics::GenericRequest
|
|
10
10
|
self.to = to
|
11
11
|
end
|
12
12
|
|
13
|
-
def date_range
|
14
|
-
if !!from && !!to
|
15
|
-
{ "DateRange" => { "Start" => from, "End" => to } }
|
16
|
-
else
|
17
|
-
{ :content! => '' }
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
13
|
def header
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
}
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
:content! => client.bank_e.public_digest
|
14
|
+
Nokogiri::XML::Builder.new do |xml|
|
15
|
+
xml.header(authenticate: true) {
|
16
|
+
xml.static {
|
17
|
+
xml.HostID host_id
|
18
|
+
xml.Nonce nonce
|
19
|
+
xml.Timestamp timestamp
|
20
|
+
xml.PartnerID partner_id
|
21
|
+
xml.UserID user_id
|
22
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
23
|
+
xml.OrderDetails {
|
24
|
+
xml.OrderType 'HAC'
|
25
|
+
xml.OrderAttribute 'DZHNN'
|
26
|
+
if !!from && !!to
|
27
|
+
xml.StandardOrderParams {
|
28
|
+
xml.DateRange {
|
29
|
+
xml.Start from
|
30
|
+
xml.End to
|
31
|
+
}
|
32
|
+
}
|
33
|
+
else
|
34
|
+
xml.StandardOrderParams
|
35
|
+
end
|
36
|
+
}
|
37
|
+
xml.BankPubKeyDigests {
|
38
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
39
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
49
40
|
}
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
41
|
+
xml.SecurityMedium '0000'
|
42
|
+
}
|
43
|
+
xml.mutable {
|
44
|
+
xml.TransactionPhase 'Initialisation'
|
45
|
+
}
|
55
46
|
}
|
56
|
-
|
47
|
+
end.doc.root
|
57
48
|
end
|
58
49
|
end
|
data/lib/epics/hia.rb
CHANGED
@@ -1,78 +1,70 @@
|
|
1
1
|
class Epics::HIA < Epics::GenericRequest
|
2
|
-
|
3
2
|
def root
|
4
3
|
"ebicsUnsecuredRequest"
|
5
4
|
end
|
6
5
|
|
7
6
|
def header
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
"mutable" => ""
|
25
|
-
}
|
7
|
+
Nokogiri::XML::Builder.new do |xml|
|
8
|
+
xml.header(authenticate: true) {
|
9
|
+
xml.static {
|
10
|
+
xml.HostID host_id
|
11
|
+
xml.PartnerID partner_id
|
12
|
+
xml.UserID user_id
|
13
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
14
|
+
xml.OrderDetails {
|
15
|
+
xml.OrderType 'HIA'
|
16
|
+
xml.OrderAttribute 'DZNNN'
|
17
|
+
}
|
18
|
+
xml.SecurityMedium '0000'
|
19
|
+
}
|
20
|
+
xml.mutable ''
|
21
|
+
}
|
22
|
+
end.doc.root
|
26
23
|
end
|
27
24
|
|
28
25
|
def body
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
Nokogiri::XML::Builder.new do |xml|
|
27
|
+
xml.body{
|
28
|
+
xml.DataTransfer {
|
29
|
+
xml.OrderData Base64.strict_encode64(Zlib::Deflate.deflate(order_data))
|
30
|
+
}
|
32
31
|
}
|
33
|
-
|
32
|
+
end.doc.root
|
34
33
|
end
|
35
34
|
|
36
35
|
def order_data
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
"ds:Exponent" => Base64.strict_encode64(client.x.key.e.to_s(2))
|
36
|
+
Nokogiri::XML::Builder.new do |xml|
|
37
|
+
xml.HIARequestOrderData('xmlns:ds' => 'http://www.w3.org/2000/09/xmldsig#', 'xmlns' => 'urn:org:ebics:H004') {
|
38
|
+
xml.AuthenticationPubKeyInfo {
|
39
|
+
xml.PubKeyValue {
|
40
|
+
xml.send('ds:RSAKeyValue') {
|
41
|
+
xml.send('ds:Modulus', Base64.strict_encode64([client.x.n].pack("H*")))
|
42
|
+
xml.send('ds:Exponent', Base64.strict_encode64(client.x.key.e.to_s(2)))
|
43
|
+
}
|
46
44
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
45
|
+
xml.AuthenticationVersion 'X002'
|
46
|
+
}
|
47
|
+
xml.EncryptionPubKeyInfo{
|
48
|
+
xml.PubKeyValue {
|
49
|
+
xml.send('ds:RSAKeyValue') {
|
50
|
+
xml.send('ds:Modulus', Base64.strict_encode64([client.e.n].pack("H*")))
|
51
|
+
xml.send('ds:Exponent', Base64.strict_encode64(client.e.key.e.to_s(2)))
|
52
|
+
}
|
55
53
|
}
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
})
|
54
|
+
xml.EncryptionVersion 'E002'
|
55
|
+
}
|
56
|
+
xml.PartnerID partner_id
|
57
|
+
xml.UserID user_id
|
58
|
+
}
|
59
|
+
end.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML, encoding: 'utf-8')
|
63
60
|
end
|
64
61
|
|
65
62
|
def to_xml
|
66
|
-
Nokogiri::XML.
|
67
|
-
root => {
|
68
|
-
|
69
|
-
|
70
|
-
:@Version => "H004",
|
71
|
-
:@Revision => "1",
|
72
|
-
:header => header,
|
73
|
-
"body" => body
|
63
|
+
Nokogiri::XML::Builder.new do |xml|
|
64
|
+
xml.send(root, 'xmlns:ds' => 'http://www.w3.org/2000/09/xmldsig#', 'xmlns' => 'urn:org:ebics:H004', 'Version' => 'H004', 'Revision' => '1') {
|
65
|
+
xml.parent.add_child(header)
|
66
|
+
xml.parent.add_child(body)
|
74
67
|
}
|
75
|
-
|
68
|
+
end.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML, encoding: 'utf-8')
|
76
69
|
end
|
77
|
-
|
78
70
|
end
|
data/lib/epics/hkd.rb
CHANGED
@@ -1,40 +1,29 @@
|
|
1
1
|
class Epics::HKD < Epics::GenericRequest
|
2
|
-
|
3
2
|
def header
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
"OrderType" => "HKD",
|
18
|
-
"OrderAttribute" => "DZHNN",
|
19
|
-
"StandardOrderParams/" => ""
|
20
|
-
},
|
21
|
-
"BankPubKeyDigests" => {
|
22
|
-
"Authentication" => {
|
23
|
-
:@Version => "X002",
|
24
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
25
|
-
:content! => client.bank_x.public_digest
|
26
|
-
},
|
27
|
-
"Encryption" => {
|
28
|
-
:@Version => "E002",
|
29
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
30
|
-
:content! => client.bank_e.public_digest
|
3
|
+
Nokogiri::XML::Builder.new do |xml|
|
4
|
+
xml.header(authenticate: true) {
|
5
|
+
xml.static {
|
6
|
+
xml.HostID host_id
|
7
|
+
xml.Nonce nonce
|
8
|
+
xml.Timestamp timestamp
|
9
|
+
xml.PartnerID partner_id
|
10
|
+
xml.UserID user_id
|
11
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
12
|
+
xml.OrderDetails {
|
13
|
+
xml.OrderType 'HKD'
|
14
|
+
xml.OrderAttribute 'DZHNN'
|
15
|
+
xml.StandardOrderParams ''
|
31
16
|
}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
xml.BankPubKeyDigests {
|
18
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
19
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
20
|
+
}
|
21
|
+
xml.SecurityMedium '0000'
|
22
|
+
}
|
23
|
+
xml.mutable {
|
24
|
+
xml.TransactionPhase 'Initialisation'
|
25
|
+
}
|
37
26
|
}
|
38
|
-
|
27
|
+
end.doc.root
|
39
28
|
end
|
40
29
|
end
|
data/lib/epics/hpb.rb
CHANGED
@@ -1,29 +1,26 @@
|
|
1
1
|
class Epics::HPB < Epics::GenericRequest
|
2
|
-
|
3
2
|
def root
|
4
3
|
"ebicsNoPubKeyDigestsRequest"
|
5
4
|
end
|
6
5
|
|
7
6
|
def header
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
"mutable/" => ""
|
27
|
-
}
|
7
|
+
Nokogiri::XML::Builder.new do |xml|
|
8
|
+
xml.header(authenticate: true) {
|
9
|
+
xml.static {
|
10
|
+
xml.HostID host_id
|
11
|
+
xml.Nonce nonce
|
12
|
+
xml.Timestamp timestamp
|
13
|
+
xml.PartnerID partner_id
|
14
|
+
xml.UserID user_id
|
15
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
16
|
+
xml.OrderDetails {
|
17
|
+
xml.OrderType 'HPB'
|
18
|
+
xml.OrderAttribute 'DZHNN'
|
19
|
+
}
|
20
|
+
xml.SecurityMedium '0000'
|
21
|
+
}
|
22
|
+
xml.mutable ''
|
23
|
+
}
|
24
|
+
end.doc.root
|
28
25
|
end
|
29
26
|
end
|
data/lib/epics/hpd.rb
CHANGED
@@ -1,40 +1,29 @@
|
|
1
1
|
class Epics::HPD < Epics::GenericRequest
|
2
|
-
|
3
2
|
def header
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
"OrderType" => "HPD",
|
18
|
-
"OrderAttribute" => "DZHNN",
|
19
|
-
"StandardOrderParams/" => ""
|
20
|
-
},
|
21
|
-
"BankPubKeyDigests" => {
|
22
|
-
"Authentication" => {
|
23
|
-
:@Version => "X002",
|
24
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
25
|
-
:content! => client.bank_x.public_digest
|
26
|
-
},
|
27
|
-
"Encryption" => {
|
28
|
-
:@Version => "E002",
|
29
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
30
|
-
:content! => client.bank_e.public_digest
|
3
|
+
Nokogiri::XML::Builder.new do |xml|
|
4
|
+
xml.header(authenticate: true) {
|
5
|
+
xml.static {
|
6
|
+
xml.HostID host_id
|
7
|
+
xml.Nonce nonce
|
8
|
+
xml.Timestamp timestamp
|
9
|
+
xml.PartnerID partner_id
|
10
|
+
xml.UserID user_id
|
11
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
12
|
+
xml.OrderDetails {
|
13
|
+
xml.OrderType 'HPD'
|
14
|
+
xml.OrderAttribute 'DZHNN'
|
15
|
+
xml.StandardOrderParams
|
31
16
|
}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
xml.BankPubKeyDigests {
|
18
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
19
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
20
|
+
}
|
21
|
+
xml.SecurityMedium '0000'
|
22
|
+
}
|
23
|
+
xml.mutable {
|
24
|
+
xml.TransactionPhase 'Initialisation'
|
25
|
+
}
|
37
26
|
}
|
38
|
-
|
27
|
+
end.doc.root
|
39
28
|
end
|
40
29
|
end
|
data/lib/epics/htd.rb
CHANGED
@@ -1,40 +1,29 @@
|
|
1
1
|
class Epics::HTD < Epics::GenericRequest
|
2
|
-
|
3
2
|
def header
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
"OrderType" => "HTD",
|
18
|
-
"OrderAttribute" => "DZHNN",
|
19
|
-
"StandardOrderParams/" => ""
|
20
|
-
},
|
21
|
-
"BankPubKeyDigests" => {
|
22
|
-
"Authentication" => {
|
23
|
-
:@Version => "X002",
|
24
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
25
|
-
:content! => client.bank_x.public_digest
|
26
|
-
},
|
27
|
-
"Encryption" => {
|
28
|
-
:@Version => "E002",
|
29
|
-
:@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
|
30
|
-
:content! => client.bank_e.public_digest
|
3
|
+
Nokogiri::XML::Builder.new do |xml|
|
4
|
+
xml.header(authenticate: true) {
|
5
|
+
xml.static {
|
6
|
+
xml.HostID host_id
|
7
|
+
xml.Nonce nonce
|
8
|
+
xml.Timestamp timestamp
|
9
|
+
xml.PartnerID partner_id
|
10
|
+
xml.UserID user_id
|
11
|
+
xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
|
12
|
+
xml.OrderDetails {
|
13
|
+
xml.OrderType 'HTD'
|
14
|
+
xml.OrderAttribute 'DZHNN'
|
15
|
+
xml.StandardOrderParams
|
31
16
|
}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
xml.BankPubKeyDigests {
|
18
|
+
xml.Authentication(client.bank_x.public_digest, Version: 'X002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256")
|
19
|
+
xml.Encryption(client.bank_e.public_digest, Version: 'E002', Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256" )
|
20
|
+
}
|
21
|
+
xml.SecurityMedium '0000'
|
22
|
+
}
|
23
|
+
xml.mutable {
|
24
|
+
xml.TransactionPhase 'Initialisation'
|
25
|
+
}
|
37
26
|
}
|
38
|
-
|
27
|
+
end.doc.root
|
39
28
|
end
|
40
29
|
end
|