comgate_ruby 0.8.3.1 → 0.8.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a86d9ae209a84c1dd4d9942b70d6bc33724567029891397a1a2fe6aa685b540
4
- data.tar.gz: b296ea50f4e2c1ebd450c02e38508b52c15d7e730aedfc2a9200a7ae3093a7a0
3
+ metadata.gz: f974dd47d4d868539ed68baa2dd30b2d1d1539662efbc65d0cba6cac02d70763
4
+ data.tar.gz: f7f156db914822d28e05bf9805d496519782c29d3676f8c1d0cfa0d39f616f2d
5
5
  SHA512:
6
- metadata.gz: e88150f9ae6eb61eb202209794ff100df4cf74c7f0201000cce7562476462d6f33c7b077cb76ea01611e818de016db35238936b6481cd79ef9f5ae8420a37a81
7
- data.tar.gz: 0a511d5d5b38e465cd48ce14dba204b23f2500e38222f7374ccc69d3bc342ecb5b91f5edba057be1d978aaa5ed2da54c1fee25549fc70d2f342a8eefadcfeef1
6
+ metadata.gz: ec831f7322aba06e135929d991a25a9d3f69a80b3f4a2fe0d00ce10baceff8036705e0597c0ffde7b6af1cc0c7ca8f0e79f501a2997274f52ccb74f816536442
7
+ data.tar.gz: 74e759684ba0bfb42281b00849facf0527c69e79dcd55fedf146f8f632f273ba552505f09fd87965eb0f1bd07c42a46050d9da2eff9423d4142f11e8ddc77f12
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## [0.8.3.5] - 2023-08-10
2
+ - added `gateway.download_zipped_csvs_of_transfers(date: time_as_date, output_file_path: path_to_download)` (to get transfer fees :-) )
3
+
1
4
  ## [0.8.3.1] - 2023-06-28
2
5
  - fixed internal passing errors
3
6
 
data/README.md CHANGED
@@ -117,6 +117,10 @@ If bundler is not being used to manage dependencies, install the gem by executin
117
117
  variable_symbol: "12345678"}
118
118
  ]
119
119
  ```
120
+ ### Get zip file containing CSV files with transfers of day (much richer data then previous)
121
+ 1) Call `gateway.download_zipped_csvs_of_transfers(date: time_as_date, output_file_path: path_to_download)`.
122
+ 2) Unzip (at your own) file at `:path_to_download`. There can be several CSV files.
123
+ Example file can be found at `./test/fixtures/csvs.zip`.
120
124
 
121
125
  ## Parameters
122
126
  Structure of parameters is unchanged across most of methods, but you can leave out unused keys. You will get error if You do not pass required key.
@@ -123,6 +123,8 @@ module Comgate
123
123
  when 302
124
124
  response_location
125
125
  when 200
126
+ return nil if response_content_type == :zip
127
+
126
128
  decoded_response_body.is_a?(Hash) ? decoded_response_body["redirect"] : nil
127
129
  end
128
130
  end
@@ -173,6 +175,8 @@ module Comgate
173
175
  URI.decode_www_form(response.body).to_h
174
176
  when :json
175
177
  JSON.parse(response.body)
178
+ when :zip
179
+ { file: store_as_tmp_file(response.body, "zipfile.zip") }
176
180
  end
177
181
  end
178
182
 
@@ -209,9 +213,19 @@ module Comgate
209
213
  :json
210
214
  elsif rct.include?("form-urlencoded")
211
215
  :url_encoded
216
+ elsif rct.include?("zip")
217
+ :zip
212
218
  else
213
219
  raise "Uncaptured content type: '#{rct}'"
214
220
  end
215
221
  end
222
+
223
+ def store_as_tmp_file(body, filename = "comgate")
224
+ file = Tempfile.new(filename)
225
+ file.binmode
226
+ file.write(body)
227
+ file.rewind
228
+ file
229
+ end
216
230
  end
217
231
  end
@@ -171,6 +171,22 @@ module Comgate
171
171
  test_call: false)
172
172
  end
173
173
 
174
+ def download_zipped_csvs_of_transfers(date:, output_file_path:)
175
+ date_str = date.strftime("%Y-%m-%d")
176
+
177
+ resp = make_call(url: "#{BASE_URL}/csvDownload",
178
+ payload: gateway_params.merge({ date: date_str }),
179
+ test_call: false)
180
+
181
+ tmp_file = resp.hash[:file]
182
+ File.write(output_file_path, tmp_file.read)
183
+ tmp_file.close
184
+ tmp_file.unlink
185
+
186
+ resp.hash = { file_path: output_file_path }
187
+ resp
188
+ end
189
+
174
190
  private
175
191
 
176
192
  attr_reader :payment_data
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Comgate
4
- VERSION = "0.8.3.1"
4
+ VERSION = "0.8.3.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comgate_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3.1
4
+ version: 0.8.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Mlčoch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-28 00:00:00.000000000 Z
11
+ date: 2023-08-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Write a longer description or delete this line.
14
14
  email: