bestchange-api 0.4 → 0.5

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
  SHA256:
3
- metadata.gz: 99363eb68e71e5ca12cf33f1fb63560b320274402f1d5c0c0e7417f573929263
4
- data.tar.gz: 5a1aa1d8806d507cf324256815252f11e83a53fbbc679e7c8aefa0fc5705398e
3
+ metadata.gz: b3e48dd22229d0446f26b047fd38fee4a9824be55e2981b7bcfeadb49ca4f044
4
+ data.tar.gz: a098a7884b4b9668974acabc2f73df5837ad54b671c40dec14dc147e23e6d1aa
5
5
  SHA512:
6
- metadata.gz: 1370a2573f45154957c215a8994d03445650dca1fefab070059148369f22c57d1fd33c58d78d6b3cc06d2cb55cfabb0269ce06a81055e3fd9ce375ac61f568cc
7
- data.tar.gz: de6f4885b1d02238392a11d49f90cf24821195e3767d476faf93689d409a894f5f3098e7b1ac1fdd8723e1f0968c560882bf9509a6f332218d205d4a021ec9d0
6
+ metadata.gz: 3d574c842366cc7429dc2f197e34767996d265eed053eae2a9f64f00bc5bbd1743bfde48da456e7501473b85acd467378c2223b766db9e11d509805d9994f075
7
+ data.tar.gz: bd27f374b87e3e18b74e41d952e33e5eb740748d9ae7344dd1895538e477dfd6c5c9cd4f931c8c827d6dd284aa85928c9a96c29426505e91784d50e0e268487d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Change log
2
2
 
3
+ ## [0.5]
4
+ Add before_extract block
5
+
3
6
  ## [0.4]
4
7
  Do not delete already existed files
5
8
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bestchange-api (0.3)
4
+ bestchange-api (0.4)
5
5
  rubyzip (= 2.3.2)
6
6
 
7
7
  GEM
@@ -10,21 +10,21 @@ module Bestchange
10
10
  module Api
11
11
  extend self
12
12
 
13
- def get_files(filenames)
13
+ def get_files(filenames, &before_extract)
14
14
  Timeout.timeout(Bestchange.configuration.timeout) do
15
- fetch_files(filenames)
15
+ fetch_files(filenames, &before_extract)
16
16
  end
17
17
  end
18
18
 
19
19
  private
20
20
 
21
- def fetch_files(filenames)
21
+ def fetch_files(filenames, &before_extract)
22
22
  response = make_request
23
23
 
24
24
  archive = Tempfile.new(ARCHIVE_DATA_FILENAME, encoding: ARCHIVE_DATA_ENCODING)
25
25
  archive.write(response)
26
26
 
27
- extract_files(archive, filenames)
27
+ extract_files('info.zip', filenames, &before_extract)
28
28
  ensure
29
29
  archive.close if defined?(archive)
30
30
  end
@@ -33,13 +33,15 @@ module Bestchange
33
33
  Net::HTTP.get(URI(BASE_URI))
34
34
  end
35
35
 
36
- def extract_files(archive, filenames)
36
+ def extract_files(archive, filenames, &before_extract)
37
37
  Zip::File.open(archive) do |zip_file|
38
38
  filenames.map do |filename|
39
39
  entry = zip_file.find_entry(filename)
40
40
 
41
41
  pathname = Pathname.new(Bestchange.configuration.dir).join(filename)
42
42
 
43
+ before_extract&.call(filename, pathname)
44
+
43
45
  zip_file.extract(entry, pathname)
44
46
 
45
47
  pathname.open
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bestchange
4
- VERSION = '0.4'
4
+ VERSION = '0.5'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bestchange-api
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: '0.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirill Karpinovsky