archive-tar-external 1.3.1 → 1.4.2
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 +7 -0
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +0 -0
- data/{CHANGES → CHANGES.md} +41 -12
- data/Gemfile +3 -0
- data/LICENSE +177 -0
- data/MANIFEST.md +13 -0
- data/README.md +56 -0
- data/Rakefile +10 -10
- data/archive-tar-external.gemspec +21 -25
- data/certs/djberg96_pub.pem +26 -0
- data/doc/archive_tar_external.md +134 -0
- data/lib/archive-tar-external.rb +3 -0
- data/lib/archive/tar/external.rb +60 -85
- data/spec/archive_tar_external_spec.rb +231 -0
- data/spec/spec_helper.rb +7 -0
- metadata +116 -82
- metadata.gz.sig +0 -0
- data/MANIFEST +0 -8
- data/README +0 -47
- data/doc/tar_external.txt +0 -109
- data/test/test_archive_tar_external.rb +0 -203
@@ -0,0 +1,231 @@
|
|
1
|
+
###############################################################################
|
2
|
+
# archive_tar_external_spec.rb
|
3
|
+
#
|
4
|
+
# Tests for the archive-tar-external library. This test case should be
|
5
|
+
# run via the 'rake spec' Rake task.
|
6
|
+
###############################################################################
|
7
|
+
require 'archive/tar/external'
|
8
|
+
require 'spec_helper'
|
9
|
+
|
10
|
+
RSpec.describe Archive::Tar::External do
|
11
|
+
let(:tmp_file1) { 'temp1.txt' }
|
12
|
+
let(:tmp_file2) { 'temp2.txt' }
|
13
|
+
let(:tmp_file3) { 'temp3.txt' }
|
14
|
+
|
15
|
+
let(:tar_name) { 'test.tar' }
|
16
|
+
let(:tar_obj) { Archive::Tar::External.new(tar_name) }
|
17
|
+
let(:pattern) { '*.txt' }
|
18
|
+
let(:gtar) { File.basename(File.which('gtar')) }
|
19
|
+
|
20
|
+
let(:archive_name) { 'test.tar.gz' }
|
21
|
+
let(:tar_program) { gtar || 'tar' }
|
22
|
+
|
23
|
+
before do
|
24
|
+
tar_obj.tar_program = 'gtar' if File.which('gtar')
|
25
|
+
File.open(tmp_file1, 'w'){ |f| f.puts 'This is a temporary text file' }
|
26
|
+
File.open(tmp_file2, 'w'){ |f| f.puts 'This is a temporary text file' }
|
27
|
+
File.open(tmp_file3, 'w'){ |f| f.puts 'This is a temporary text file' }
|
28
|
+
end
|
29
|
+
|
30
|
+
example "version" do
|
31
|
+
expect(Archive::Tar::External::VERSION).to eq('1.4.2')
|
32
|
+
expect(Archive::Tar::External::VERSION).to be_frozen
|
33
|
+
end
|
34
|
+
|
35
|
+
context "constructor" do
|
36
|
+
example "with name" do
|
37
|
+
expect{ Archive::Tar::External.new(tar_name) }.not_to raise_error
|
38
|
+
end
|
39
|
+
|
40
|
+
example "with name and extension" do
|
41
|
+
expect{ Archive::Tar::External.new(tar_name, pattern) }.not_to raise_error
|
42
|
+
end
|
43
|
+
|
44
|
+
example "with compression program", :gzip => true do
|
45
|
+
expect{ Archive::Tar::External.new(tar_name, pattern, 'gzip') }.not_to raise_error
|
46
|
+
end
|
47
|
+
|
48
|
+
example "raises an error if name is not provided" do
|
49
|
+
expect{ Archive::Tar::External.new }.to raise_error(ArgumentError)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context "instance methods" do
|
54
|
+
example "tar_program getter" do
|
55
|
+
expect(tar_obj).to respond_to(:tar_program)
|
56
|
+
expect(tar_obj.tar_program).to eq(tar_program)
|
57
|
+
end
|
58
|
+
|
59
|
+
example "archive_name getter" do
|
60
|
+
expect(tar_obj).to respond_to(:archive_name)
|
61
|
+
expect(tar_obj.archive_name).to eq(tar_name)
|
62
|
+
end
|
63
|
+
|
64
|
+
example "archive_name setter" do
|
65
|
+
expect(tar_obj).to respond_to(:archive_name=)
|
66
|
+
expect{ tar_obj.archive_name = 'foo' }.not_to raise_error
|
67
|
+
expect(tar_obj.archive_name).to eq('foo')
|
68
|
+
end
|
69
|
+
|
70
|
+
example "compressed_archive_name getter" do
|
71
|
+
expect(tar_obj).to respond_to(:compressed_archive_name)
|
72
|
+
expect(tar_obj.compressed_archive_name).to be_nil
|
73
|
+
end
|
74
|
+
|
75
|
+
example "compressed_archive_name setter basic functionality" do
|
76
|
+
expect(tar_obj).to respond_to(:compressed_archive_name=)
|
77
|
+
expect{ tar_obj.compressed_archive_name = archive_name }.not_to raise_error
|
78
|
+
end
|
79
|
+
|
80
|
+
example "setting the compressed_archive_name also sets the archive name to the expected value" do
|
81
|
+
tar_obj.compressed_archive_name = archive_name
|
82
|
+
expect(tar_obj.compressed_archive_name).to eq(archive_name)
|
83
|
+
expect(tar_obj.archive_name).to eq(tar_name)
|
84
|
+
|
85
|
+
tar_obj.compressed_archive_name = 'test.tgz'
|
86
|
+
expect(tar_obj.compressed_archive_name).to eq('test.tgz')
|
87
|
+
expect(tar_obj.archive_name).to eq(tar_name)
|
88
|
+
end
|
89
|
+
|
90
|
+
example "create_archive basic functionality" do
|
91
|
+
expect(tar_obj).to respond_to(:create_archive)
|
92
|
+
expect{ tar_obj.create_archive(pattern) }.not_to raise_error
|
93
|
+
expect(File.exist?(tar_name)).to be true
|
94
|
+
end
|
95
|
+
|
96
|
+
example "create_archive requires at least on argument" do
|
97
|
+
expect{ tar_obj.create_archive }.to raise_error(ArgumentError)
|
98
|
+
end
|
99
|
+
|
100
|
+
example "create_archive raises an error if no files match the pattern" do
|
101
|
+
expect{ tar_obj.create_archive('*.blah') }.to raise_error(Archive::Tar::Error)
|
102
|
+
end
|
103
|
+
|
104
|
+
example "create_archive accepts optional parameters" do
|
105
|
+
expect{ tar_obj.create_archive(pattern, 'cfj') }.not_to raise_error
|
106
|
+
end
|
107
|
+
|
108
|
+
example "create is an alias for create_archive" do
|
109
|
+
expect(tar_obj).to respond_to(:create)
|
110
|
+
expect(tar_obj.method(:create)).to eq(tar_obj.method(:create_archive))
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context "compression" do
|
115
|
+
example "compress_archive basic functionality" do
|
116
|
+
expect(tar_obj).to respond_to(:compress_archive)
|
117
|
+
end
|
118
|
+
|
119
|
+
example "compress is an alias for compress_archive" do
|
120
|
+
expect(tar_obj).to respond_to(:compress)
|
121
|
+
expect(tar_obj.method(:compress)).to eq(tar_obj.method(:compress_archive))
|
122
|
+
end
|
123
|
+
|
124
|
+
example "compress_archive defaults to gzip", :gzip => true do
|
125
|
+
tar_obj.create_archive(pattern)
|
126
|
+
tar_obj.compress_archive
|
127
|
+
|
128
|
+
expect(tar_obj.compressed_archive_name).to eq(archive_name)
|
129
|
+
expect(File.exist?(archive_name)).to be true
|
130
|
+
end
|
131
|
+
|
132
|
+
example "compress_archive works with bzip2", :bzip2 => true do
|
133
|
+
expect{ tar_obj.create_archive(pattern) }.not_to raise_error
|
134
|
+
expect{ tar_obj.compress_archive('bzip2') }.not_to raise_error
|
135
|
+
expect(File.exist?('test.tar.bz2')).to be true
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
context "uncompression" do
|
140
|
+
before do
|
141
|
+
tar_obj.create_archive(pattern).compress_archive
|
142
|
+
end
|
143
|
+
|
144
|
+
example "uncompress_archive basic functionality" do
|
145
|
+
expect(tar_obj).to respond_to(:uncompress_archive)
|
146
|
+
end
|
147
|
+
|
148
|
+
example "uncompress_archive behaves as expected" do
|
149
|
+
expect{ tar_obj.uncompress_archive }.not_to raise_error
|
150
|
+
expect(File.exist?(archive_name)).to be false
|
151
|
+
end
|
152
|
+
|
153
|
+
example "uncompress is an alias for uncompress_archive" do
|
154
|
+
expect(tar_obj).to respond_to(:uncompress)
|
155
|
+
expect(tar_obj.method(:uncompress)).to eq (tar_obj.method(:uncompress_archive))
|
156
|
+
end
|
157
|
+
|
158
|
+
example "uncompress_archive singleton method" do
|
159
|
+
expect(Archive::Tar::External).to respond_to(:uncompress_archive)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
context "archive" do
|
164
|
+
example "archive_info basic functionality" do
|
165
|
+
expect(tar_obj).to respond_to(:archive_info)
|
166
|
+
end
|
167
|
+
|
168
|
+
example "archive_info returns the expected value" do
|
169
|
+
tar_obj.create_archive(pattern)
|
170
|
+
expect(tar_obj.archive_info).to eq([tmp_file1, tmp_file2, tmp_file3])
|
171
|
+
end
|
172
|
+
|
173
|
+
example "add_to_archive basic functionality" do
|
174
|
+
expect(tar_obj).to respond_to(:add_to_archive)
|
175
|
+
end
|
176
|
+
|
177
|
+
example "add_to_archive works as expected" do
|
178
|
+
tar_obj = described_class.new(tar_name)
|
179
|
+
expect{ tar_obj.add_to_archive(tmp_file2) }.not_to raise_error
|
180
|
+
expect{ tar_obj.add_to_archive(tmp_file2, tmp_file3) }.not_to raise_error
|
181
|
+
expect(tar_obj.archive_info).to eq([tmp_file2, tmp_file2, tmp_file3])
|
182
|
+
end
|
183
|
+
|
184
|
+
example "update_archive basic functionality" do
|
185
|
+
expect(tar_obj).to respond_to(:update_archive)
|
186
|
+
end
|
187
|
+
|
188
|
+
example "update_archive behaves as expected", :gtar => true do
|
189
|
+
tar_obj.create_archive(pattern)
|
190
|
+
expect(tar_obj.archive_info).to eq([tmp_file1, tmp_file2, tmp_file3])
|
191
|
+
tar_obj.update_archive(tmp_file2)
|
192
|
+
expect(tar_obj.archive_info).to eq([tmp_file1, tmp_file2, tmp_file3])
|
193
|
+
end
|
194
|
+
|
195
|
+
example "extract_archive_basic" do
|
196
|
+
expect(tar_obj).to respond_to(:extract_archive)
|
197
|
+
end
|
198
|
+
|
199
|
+
example "extract_archive raises an error if the file isn't in the archive" do
|
200
|
+
tar_obj.create(pattern)
|
201
|
+
expect{ tar_obj.expand('blah.txt') }.to raise_error(Archive::Tar::Error)
|
202
|
+
end
|
203
|
+
|
204
|
+
example "extract_archive with no arguments extracts all files" do
|
205
|
+
tar_obj.create(pattern)
|
206
|
+
expect{ tar_obj.extract_archive }.not_to raise_error
|
207
|
+
end
|
208
|
+
|
209
|
+
example "extract_archive with a valid file argument behaves as expected" do
|
210
|
+
tar_obj.create(pattern)
|
211
|
+
expect{ tar_obj.extract_archive(tmp_file2) }.not_to raise_error
|
212
|
+
end
|
213
|
+
|
214
|
+
example "expand_archive, expand and extract are aliases for extract_archive" do
|
215
|
+
expect(tar_obj.method(:expand_archive)).to eq(tar_obj.method(:extract_archive))
|
216
|
+
expect(tar_obj.method(:expand)).to eq(tar_obj.method(:extract_archive))
|
217
|
+
expect(tar_obj.method(:extract)).to eq(tar_obj.method(:extract_archive))
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
after do
|
222
|
+
File.delete(tmp_file1) if File.exist?(tmp_file1)
|
223
|
+
File.delete(tmp_file2) if File.exist?(tmp_file2)
|
224
|
+
File.delete(tmp_file3) if File.exist?(tmp_file3)
|
225
|
+
|
226
|
+
File.delete(tar_name) if File.exist?(tar_name)
|
227
|
+
File.delete("#{tar_name}.gz") if File.exist?("#{tar_name}.gz")
|
228
|
+
File.delete("#{tar_name}.bz2") if File.exist?("#{tar_name}.bz2")
|
229
|
+
File.delete("#{tar_name}.zip") if File.exist?("#{tar_name}.zip")
|
230
|
+
end
|
231
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,102 +1,136 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: archive-tar-external
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 3
|
9
|
-
- 1
|
10
|
-
version: 1.3.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.2
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Daniel Berger
|
14
|
-
autorequire:
|
8
|
+
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhkamJl
|
14
|
+
cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
15
|
+
MB4XDTE4MDMxODE1MjIwN1oXDTI4MDMxNTE1MjIwN1owPzERMA8GA1UEAwwIZGpi
|
16
|
+
ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
17
|
+
bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALgfaroVM6CI06cxr0/h
|
18
|
+
A+j+pc8fgpRgBVmHFaFunq28GPC3IvW7Nvc3Y8SnAW7pP1EQIbhlwRIaQzJ93/yj
|
19
|
+
u95KpkP7tA9erypnV7dpzBkzNlX14ACaFD/6pHoXoe2ltBxk3CCyyzx70mTqJpph
|
20
|
+
75IB03ni9a8yqn8pmse+s83bFJOAqddSj009sGPcQO+QOWiNxqYv1n5EHcvj2ebO
|
21
|
+
6hN7YTmhx7aSia4qL/quc4DlIaGMWoAhvML7u1fmo53CYxkKskfN8MOecq2vfEmL
|
22
|
+
iLu+SsVVEAufMDDFMXMJlvDsviolUSGMSNRTujkyCcJoXKYYxZSNtIiyd9etI0X3
|
23
|
+
ctu0uhrFyrMZXCedutvXNjUolD5r9KGBFSWH1R9u2I3n3SAyFF2yzv/7idQHLJJq
|
24
|
+
74BMnx0FIq6fCpu5slAipvxZ3ZkZpEXZFr3cIBtO1gFvQWW7E/Y3ijliWJS1GQFq
|
25
|
+
058qERadHGu1yu1dojmFRo6W2KZvY9al2yIlbkpDrD5MYQIDAQABo3cwdTAJBgNV
|
26
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFZsMapgzJimzsbaBG2Tm8j5e
|
27
|
+
AzgwHQYDVR0RBBYwFIESZGpiZXJnOTZAZ21haWwuY29tMB0GA1UdEgQWMBSBEmRq
|
28
|
+
YmVyZzk2QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAW2tnYixXQtKxgGXq
|
29
|
+
/3iSWG2bLwvxS4go3srO+aRXZHrFUMlJ5W0mCxl03aazxxKTsVVpZD8QZxvK91OQ
|
30
|
+
h9zr9JBYqCLcCVbr8SkmYCi/laxIZxsNE5YI8cC8vvlLI7AMgSfPSnn/Epq1GjGY
|
31
|
+
6L1iRcEDtanGCIvjqlCXO9+BmsnCfEVehqZkQHeYczA03tpOWb6pon2wzvMKSsKH
|
32
|
+
ks0ApVdstSLz1kzzAqem/uHdG9FyXdbTAwH1G4ZPv69sQAFAOCgAqYmdnzedsQtE
|
33
|
+
1LQfaQrx0twO+CZJPcRLEESjq8ScQxWRRkfuh2VeR7cEU7L7KqT10mtUwrvw7APf
|
34
|
+
DYoeCY9KyjIBjQXfbj2ke5u1hZj94Fsq9FfbEQg8ygCgwThnmkTrrKEiMSs3alYR
|
35
|
+
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
|
+
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
|
+
-----END CERTIFICATE-----
|
38
|
+
date: 2021-04-30 00:00:00.000000000 Z
|
39
|
+
dependencies:
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: rake
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
26
44
|
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
32
47
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: ptools
|
36
48
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
requirements:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
40
51
|
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rspec
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.9'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.9'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: ptools
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.4'
|
46
75
|
type: :development
|
47
|
-
|
48
|
-
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '1.4'
|
82
|
+
description: |2
|
83
|
+
The archive-tar-external is a simple wrapper interface for creating
|
84
|
+
tar files using your system's tar command. You can also easily compress
|
85
|
+
your tar files with your system's compression programs such as zip, gzip,
|
86
|
+
or bzip2.
|
49
87
|
email: djberg96@gmail.com
|
50
88
|
executables: []
|
51
|
-
|
52
89
|
extensions: []
|
53
|
-
|
54
|
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
|
90
|
+
extra_rdoc_files: []
|
91
|
+
files:
|
92
|
+
- CHANGES.md
|
93
|
+
- Gemfile
|
94
|
+
- LICENSE
|
95
|
+
- MANIFEST.md
|
96
|
+
- README.md
|
97
|
+
- Rakefile
|
60
98
|
- archive-tar-external.gemspec
|
61
|
-
-
|
62
|
-
- doc/
|
99
|
+
- certs/djberg96_pub.pem
|
100
|
+
- doc/archive_tar_external.md
|
101
|
+
- lib/archive-tar-external.rb
|
63
102
|
- lib/archive/tar/external.rb
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
103
|
+
- spec/archive_tar_external_spec.rb
|
104
|
+
- spec/spec_helper.rb
|
105
|
+
homepage: http://github.com/djberg96/archive-tar-external
|
106
|
+
licenses:
|
107
|
+
- Apache-2.0
|
108
|
+
metadata:
|
109
|
+
homepage_uri: https://github.com/djberg96/archive-tar-external
|
110
|
+
bug_tracker_uri: https://github.com/djberg96/archive-tar-external/issues
|
111
|
+
changelog_uri: https://github.com/djberg96/archive-tar-external/blob/main/CHANGES
|
112
|
+
documentation_uri: https://github.com/djberg96/archive-tar-external/wiki
|
113
|
+
source_code_uri: https://github.com/djberg96/archive-tar-external
|
114
|
+
wiki_uri: https://github.com/djberg96/archive-tar-external/wiki
|
115
|
+
post_install_message:
|
72
116
|
rdoc_options: []
|
73
|
-
|
74
|
-
require_paths:
|
117
|
+
require_paths:
|
75
118
|
- lib
|
76
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
-
|
78
|
-
requirements:
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
79
121
|
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
version: "0"
|
85
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
|
-
requirements:
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
88
126
|
- - ">="
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
segments:
|
92
|
-
- 0
|
93
|
-
version: "0"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
94
129
|
requirements: []
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
signing_key:
|
99
|
-
specification_version: 3
|
130
|
+
rubygems_version: 3.2.15
|
131
|
+
signing_key:
|
132
|
+
specification_version: 4
|
100
133
|
summary: A simple way to create tar archives using external calls
|
101
|
-
test_files:
|
102
|
-
-
|
134
|
+
test_files:
|
135
|
+
- spec/archive_tar_external_spec.rb
|
136
|
+
- spec/spec_helper.rb
|