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 }