lib/epics/client.rb in epics-1.2.2 vs lib/epics/client.rb in epics-1.3.0
- old
+ new
@@ -126,15 +126,15 @@
def STA(from, to)
download(Epics::STA, from, to)
end
def C52(from, to)
- download(Epics::C52, from, to)
+ download_and_unzip(Epics::C52, from, to)
end
def C53(from, to)
- download(Epics::C53, from, to)
+ download_and_unzip(Epics::C53, from, to)
end
def HAA
Nokogiri::XML(download(Epics::HAA)).at_xpath("//xmlns:OrderTypes").content.split(/\s/)
end
@@ -187,9 +187,19 @@
if res.segmented? && res.last_segment?
post(url, document.to_receipt_xml).body
end
res.order_data
+ end
+
+ def download_and_unzip(order_type, *args)
+ [].tap do |entries|
+ Zip::InputStream.open(StringIO.new( download(order_type, *args) )) do |stream|
+ while stream.get_next_entry
+ entries << stream.read
+ end
+ end
+ end
end
def connection
@connection ||= Faraday.new(headers: {user_agent: "EPICS v#{Epics::VERSION}"}) do |faraday|
faraday.use Epics::XMLSIG, { client: self }