excavate 0.2.1 → 0.2.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: fe53a363bd11b14249732d9c553b9efc00a4a9ab0ac156d90ea48afac366607e
4
- data.tar.gz: af6bac0b0faace666c557fa4c66f32ef31a659110629916ac82a74172ad2c448
3
+ metadata.gz: f1abeba693c6993f1d1731afa0b576ccff3d28c8d1eda24230b8402f726b8201
4
+ data.tar.gz: 0302c3d0d399ca6c74ed22db0e3fa4243cdefdf144cac1503252a803661cce83
5
5
  SHA512:
6
- metadata.gz: 974a4e58890cc0d2b4a472d5a8d3a580ffb1a6bdc47f7e41c1e212692d636936921718be201c320069eefd7e6677b91266fafedbfcf393bfafbb714dede984cf
7
- data.tar.gz: 0634316b5893c0a58bba0f1d0e756ccedbadd5061acd344b2c3d0c93810f5363a9cfe5cf4220454884a07c1a81f537b74e0abca2f86aa04d619bebb72021c686
6
+ metadata.gz: 401d92de053763fb7a35e3b6baadc79b2b3367374dd89b1ade6feb4b80ebf5d2f2d04f6791cdb147bdc2d7b67bd9559a638c3346bc384c77df6e957a05401f76
7
+ data.tar.gz: bcbf911c434f369257d3ab6d4bb2c92f4aee076f68e3aff7c43cc940cb6c16937b9c67879df9fd34e5b4998c2200cb5e0feb9ea84c934f546b942d6035965a31
@@ -0,0 +1,35 @@
1
+ name: metanorma
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
11
+ runs-on: ${{ matrix.os }}
12
+ continue-on-error: ${{ matrix.experimental }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ ruby: [ '2.5', '2.6', '2.7', '3.0' ]
17
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
18
+ experimental: [ true ]
19
+ steps:
20
+ - uses: actions/checkout@master
21
+ with:
22
+ repository: metanorma/metanorma
23
+
24
+ - uses: actions/checkout@master
25
+ with:
26
+ path: "excavate"
27
+
28
+ - run: 'echo ''gem "excavate", path: "./excavate"'' > Gemfile.devel'
29
+
30
+ - uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby }}
33
+ bundler-cache: true
34
+
35
+ - run: bundle exec rake
@@ -2,7 +2,7 @@ name: rspec
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master ]
5
+ branches: [ master, main ]
6
6
  pull_request:
7
7
 
8
8
  jobs:
data/Gemfile CHANGED
@@ -5,9 +5,7 @@ source "https://rubygems.org"
5
5
  gemspec
6
6
 
7
7
  gem "gem-release"
8
-
9
8
  gem "rake", "~> 13.0"
10
-
11
9
  gem "rspec", "~> 3.2"
12
10
  gem "rubocop", "0.75.0"
13
11
  gem "rubocop-performance"
data/README.adoc CHANGED
@@ -69,6 +69,19 @@ $ excavate path/to/archive.cab
69
69
  ----
70
70
 
71
71
 
72
+ == Dependencies
73
+
74
+ Depends on
75
+ https://github.com/fontist/ffi-libarchive-binary[ffi-libarchive-binary] which
76
+ has the following requirements:
77
+
78
+ * zlib
79
+ * Expat
80
+ * OpenSSL (for Linux only)
81
+
82
+ These dependencies are generally present on all systems.
83
+
84
+
72
85
  == Development
73
86
 
74
87
  We are following Sandi Metz's Rules for this gem, you can read the
@@ -105,6 +105,8 @@ module Excavate
105
105
  end
106
106
 
107
107
  def archive?(file)
108
+ return false unless File.file?(file)
109
+
108
110
  ext = normalized_extension(file)
109
111
  TYPES.key?(ext)
110
112
  end
@@ -15,6 +15,8 @@ module Excavate
15
15
 
16
16
  Ole::Storage.open(@archive) do |ole|
17
17
  children(ole).each do |file|
18
+ next if ole.file.directory?(file)
19
+
18
20
  filename = prepare_filename(file)
19
21
  path = File.join(target, filename)
20
22
  content = ole.file.read(file)
@@ -24,10 +24,11 @@ module Excavate
24
24
  end
25
25
 
26
26
  def rename_payload(target)
27
- payload_path = File.join(target, "Payload")
28
- return unless File.exist?(payload_path)
27
+ Dir.glob(File.join(target, "**", "Payload")).each do |file|
28
+ next unless File.file?(file)
29
29
 
30
- FileUtils.mv(payload_path, "#{payload_path}.cpio.gz")
30
+ FileUtils.mv(file, "#{file}.cpio.gz")
31
+ end
31
32
  end
32
33
  end
33
34
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Excavate
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excavate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-31 00:00:00.000000000 Z
11
+ date: 2021-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arr-pm
@@ -116,6 +116,7 @@ executables:
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
+ - ".github/workflows/metanorma.yml"
119
120
  - ".github/workflows/release.yml"
120
121
  - ".github/workflows/rspec.yml"
121
122
  - ".gitignore"
@@ -168,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
169
  - !ruby/object:Gem::Version
169
170
  version: '0'
170
171
  requirements: []
171
- rubygems_version: 3.0.3
172
+ rubygems_version: 3.0.3.1
172
173
  signing_key:
173
174
  specification_version: 4
174
175
  summary: Extract nested archives with a single command.