excavate 0.2.1 → 0.2.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: 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.