epics 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d148b60ba07e4c81dbfcc0ddcb3d7263b2f74be2
4
- data.tar.gz: 35b69cb5ef7f143f5d92974f47adfe4206cecbea
3
+ metadata.gz: 374545797bb76c3cca30bc9e628692dc7e1d3667
4
+ data.tar.gz: 73abda6207abda78a72706b8e76161acfb1e73f1
5
5
  SHA512:
6
- metadata.gz: 838a5d4be65b6339238dd6bc2f7f918c3b58ec2563e33b02fa21a9bc741e2636e4b2f94ad75f6e16a261aed43a3666300f1e088ebfbbed74a42228584d44c30d
7
- data.tar.gz: 80d7a32a587947ad7a73ae525f2cacabffa4fc44a478d42194acfad92e7cd990719db28d94329a3d3457fc7b8b83ea8d6e66657fc1be487ac791b09da352e70b
6
+ metadata.gz: 34ff475ce4c532e56308cb300db75f1c87c0b9bf09e51093e80d4d09cef3c37510a49c48eef769277e32d74fa59dfb296dda228b91ca6e23a996585bd3e03fcd
7
+ data.tar.gz: 327e51904471698d960b82888a39eff70fb3516008f40d56af39ad6878e2c4444448eebbcf963f5fc061102d5b33cd8d21e813acb6058e2f51daa3af3b68077f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 1.3.0
2
+
3
+ * [BUGFIX] unzip C5X payloads
4
+ * [ENHANCEMENT] B2B direct debits
5
+
1
6
  ### 1.2.2
2
7
 
3
8
  * [BUGFIX] HPB namespaces are unpredictable so be ignore them
data/README.md CHANGED
@@ -168,8 +168,12 @@ puts e.STA('2014-09-01', '2014-09-11')
168
168
  Example:
169
169
 
170
170
  ```ruby
171
- puts e.CD1("i-am-a-PAIN-xml-file")
172
- # res is a the transaction id of the order
171
+ puts e.CD1("i-am-PAIN-xml")
172
+ # res is a the transaction id and id of the order
173
+
174
+ # if the XML is a file in your FS, read it first and give if epics to consume
175
+ puts e.CD1(File.read("/where/the/xml/is/stored.xml"))
176
+
173
177
  ```
174
178
 
175
179
  ### Lazy Mode
data/epics.gemspec CHANGED
@@ -40,6 +40,7 @@ Gem::Specification.new do |spec|
40
40
  spec.add_dependency "nokogiri"
41
41
  spec.add_dependency "gyoku"
42
42
  spec.add_dependency "faraday"
43
+ spec.add_dependency "rubyzip", ">= 1.0.0"
43
44
 
44
45
  spec.add_development_dependency "bundler", ">= 1.6.2"
45
46
  spec.add_development_dependency "rake", "~> 10.0"
data/lib/epics/client.rb CHANGED
@@ -128,11 +128,11 @@ class Epics::Client
128
128
  end
129
129
 
130
130
  def C52(from, to)
131
- download(Epics::C52, from, to)
131
+ download_and_unzip(Epics::C52, from, to)
132
132
  end
133
133
 
134
134
  def C53(from, to)
135
- download(Epics::C53, from, to)
135
+ download_and_unzip(Epics::C53, from, to)
136
136
  end
137
137
 
138
138
  def HAA
@@ -191,6 +191,16 @@ class Epics::Client
191
191
  res.order_data
192
192
  end
193
193
 
194
+ def download_and_unzip(order_type, *args)
195
+ [].tap do |entries|
196
+ Zip::InputStream.open(StringIO.new( download(order_type, *args) )) do |stream|
197
+ while stream.get_next_entry
198
+ entries << stream.read
199
+ end
200
+ end
201
+ end
202
+ end
203
+
194
204
  def connection
195
205
  @connection ||= Faraday.new(headers: {user_agent: "EPICS v#{Epics::VERSION}"}) do |faraday|
196
206
  faraday.use Epics::XMLSIG, { client: self }
data/lib/epics/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Epics
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0"
3
3
  end
data/lib/epics.rb CHANGED
@@ -3,6 +3,7 @@ require 'base64'
3
3
  require 'erb'
4
4
  require 'json'
5
5
  require 'zlib'
6
+ require 'zip'
6
7
  require 'nokogiri'
7
8
  require 'gyoku'
8
9
  require 'faraday'
data/spec/client_spec.rb CHANGED
@@ -130,4 +130,14 @@ RSpec.describe Epics::Client do
130
130
  expect { subject.HTD }.to change { subject.instance_variable_get("@name") }
131
131
  end
132
132
  end
133
+
134
+ describe '#C53/C52 types with zipped data' do
135
+ before do
136
+ allow(subject).to receive(:download).and_return( File.read(File.join(File.dirname(__FILE__), 'fixtures', 'test.zip') ))
137
+ end
138
+
139
+ it 'will unzip the returned data' do
140
+ expect(subject.C53(:today, :yesterday)).to eq(["ebics is great\n"])
141
+ end
142
+ end
133
143
  end
Binary file
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: 1.2.2
4
+ version: 1.3.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: 2015-07-14 00:00:00.000000000 Z
11
+ date: 2015-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubyzip
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.0
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -199,6 +213,7 @@ files:
199
213
  - spec/fixtures/a006.pem
200
214
  - spec/fixtures/bank_e.pem
201
215
  - spec/fixtures/e002.pem
216
+ - spec/fixtures/test.zip
202
217
  - spec/fixtures/x002.pem
203
218
  - spec/fixtures/xml/cd1.xml
204
219
  - spec/fixtures/xml/cd1_init_response.xml
@@ -291,6 +306,7 @@ test_files:
291
306
  - spec/fixtures/a006.pem
292
307
  - spec/fixtures/bank_e.pem
293
308
  - spec/fixtures/e002.pem
309
+ - spec/fixtures/test.zip
294
310
  - spec/fixtures/x002.pem
295
311
  - spec/fixtures/xml/cd1.xml
296
312
  - spec/fixtures/xml/cd1_init_response.xml