file-temp 1.7.1 → 1.7.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +5 -0
- data/Gemfile +2 -7
- data/README.md +12 -3
- data/Rakefile +6 -3
- data/file-temp.gemspec +10 -7
- data/lib/file/java/temp.rb +6 -4
- data/lib/file/temp.rb +3 -1
- data/lib/file/unix/temp.rb +3 -0
- data/lib/file/windows/temp.rb +22 -18
- data/lib/file-temp.rb +2 -0
- data/spec/file_temp_spec.rb +79 -71
- data.tar.gz.sig +0 -0
- metadata +39 -17
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eff786722d8fdd2d775c3bf89a93256c3e6cb52a73966d13aa5f5520c37c96ee
|
4
|
+
data.tar.gz: 57637cb99fbb42afa24779c95527faeedf0a0ff304fc0eba3de517912377459e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35e334372e93fec4e19687f353262910bc7b77e7ccde89d48f01c92f86c85e329efcc00363bc7689447b67230dce4b50047dc8390ab06586e99bdd5c9fef55a2
|
7
|
+
data.tar.gz: 7443857009f786d4c8d460a1e2d3924f5deb1d6074c5f5813c39a4138e40e8e88132a5ec36152718fba2484d234cdc9c40f73fb98a15694aafddda07e89480c0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 1.7.2 - 11-Jul-2023
|
2
|
+
* Fixed a bug in the Windows version where it would sometimes fail.
|
3
|
+
* Dropped JRuby from the test matrix for now because of a bug.
|
4
|
+
See https://github.com/jruby/jruby/issues/7847 for more details.
|
5
|
+
|
1
6
|
## 1.7.1 - 28-Dec-2020
|
2
7
|
* Updated file option kwarg handling so that it's compatible with Ruby 3.x.
|
3
8
|
* Switched from rdoc to markdown format since github isn't rendering rdoc properly.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://github.com/djberg96/file-temp/actions/workflows/ruby.yml)
|
2
|
+
|
1
3
|
## Description
|
2
4
|
The file-temp library is an alternate way to handle tempfile generation.
|
3
5
|
|
@@ -7,8 +9,11 @@ The file-temp library is an alternate way to handle tempfile generation.
|
|
7
9
|
## Installation
|
8
10
|
`gem install file-temp`
|
9
11
|
|
12
|
+
## Adding the trusted cert
|
13
|
+
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/file-temp/main/certs/djberg96_pub.pem)`
|
14
|
+
|
10
15
|
## Synopsis
|
11
|
-
```
|
16
|
+
```ruby
|
12
17
|
require 'file/temp'
|
13
18
|
|
14
19
|
fh = File::Temp.new
|
@@ -42,18 +47,22 @@ temporary file name generated by Java is different than the C version,
|
|
42
47
|
since it uses a GUID instead of the 'XXXXXX' template, but the
|
43
48
|
interface is otherwise identical.
|
44
49
|
|
50
|
+
As of version 1.7.2 there is a known issue with using File::Temp.open
|
51
|
+
vs File::Temp.new. See https://github.com/jruby/jruby/issues/7847 for
|
52
|
+
more details.
|
53
|
+
|
45
54
|
## MS Windows
|
46
55
|
You may need to use the mingw build in order to use this library.
|
47
56
|
|
48
57
|
Also, there was a bug with the `GetTempFileName` function on certain versions
|
49
|
-
of MS Windows that may cause a failure. However, if you'
|
58
|
+
of MS Windows that may cause a failure. However, if you're patched up you
|
50
59
|
should not see it.
|
51
60
|
|
52
61
|
## License
|
53
62
|
Apache-2.0
|
54
63
|
|
55
64
|
## Copyright
|
56
|
-
(C) 2007-
|
65
|
+
(C) 2007-2023 Daniel J. Berger
|
57
66
|
All Rights Reserved
|
58
67
|
|
59
68
|
## Warranty
|
data/Rakefile
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rspec/core/rake_task'
|
4
|
+
require 'rubocop/rake_task'
|
4
5
|
|
5
6
|
CLEAN.include('**/*.tar', '**/*.zip', '**/*.gz', '**/*.bz2')
|
6
|
-
CLEAN.include('**/*.rbc', '**/*.gem', '**/*.tmp')
|
7
|
+
CLEAN.include('**/*.rbc', '**/*.gem', '**/*.tmp', '**/*.lock')
|
7
8
|
|
8
9
|
namespace 'gem' do
|
9
10
|
desc 'Create the file-temp gem'
|
10
11
|
task :create => [:clean] do
|
11
12
|
require 'rubygems/package'
|
12
|
-
spec =
|
13
|
+
spec = Gem::Specification.load('file-temp.gemspec')
|
13
14
|
spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
|
14
|
-
Gem::Package.build(spec
|
15
|
+
Gem::Package.build(spec)
|
15
16
|
end
|
16
17
|
|
17
18
|
desc 'Install the file-temp gem'
|
@@ -21,6 +22,8 @@ namespace 'gem' do
|
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
25
|
+
RuboCop::RakeTask.new
|
26
|
+
|
24
27
|
desc 'Run the test suite for the file-temp library'
|
25
28
|
RSpec::Core::RakeTask.new(:spec)
|
26
29
|
|
data/file-temp.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'file-temp'
|
5
|
-
spec.version = '1.7.
|
5
|
+
spec.version = '1.7.2'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.license = 'Apache-2.0'
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
@@ -14,15 +14,18 @@ Gem::Specification.new do |spec|
|
|
14
14
|
|
15
15
|
spec.add_dependency('ffi', '~> 1.1')
|
16
16
|
spec.add_development_dependency('rspec', '~> 3.9')
|
17
|
+
spec.add_development_dependency('rubocop')
|
18
|
+
spec.add_development_dependency('rubocop-rspec')
|
17
19
|
spec.add_development_dependency('rake')
|
18
20
|
|
19
21
|
spec.metadata = {
|
20
|
-
'homepage_uri'
|
21
|
-
'bug_tracker_uri'
|
22
|
-
'changelog_uri'
|
23
|
-
'documentation_uri'
|
24
|
-
'source_code_uri'
|
25
|
-
'wiki_uri'
|
22
|
+
'homepage_uri' => 'https://github.com/djberg96/file-temp',
|
23
|
+
'bug_tracker_uri' => 'https://github.com/djberg96/file-temp/issues',
|
24
|
+
'changelog_uri' => 'https://github.com/djberg96/file-temp/blob/main/CHANGES.md',
|
25
|
+
'documentation_uri' => 'https://github.com/djberg96/file-temp/wiki',
|
26
|
+
'source_code_uri' => 'https://github.com/djberg96/file-temp',
|
27
|
+
'wiki_uri' => 'https://github.com/djberg96/file-temp/wiki',
|
28
|
+
'rubygems_mfa_required' => 'true'
|
26
29
|
}
|
27
30
|
|
28
31
|
spec.description = <<-EOF
|
data/lib/file/java/temp.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'java'
|
2
|
-
import java.lang.System
|
3
4
|
|
5
|
+
# The File::Temp class encapsulates temporary files. It is a subclass of File.
|
4
6
|
class File::Temp < File
|
5
7
|
# The temporary directory used on MS Windows or Unix.
|
6
|
-
TMPDIR = java.lang.System.getProperties[
|
8
|
+
TMPDIR = java.lang.System.getProperties['java.io.tmpdir']
|
7
9
|
|
8
10
|
# The name of the temporary file.
|
9
11
|
attr_reader :path
|
@@ -42,7 +44,7 @@ class File::Temp < File
|
|
42
44
|
# to Errno::EINVAL.
|
43
45
|
begin
|
44
46
|
@file = java.io.File.createTempFile(template, nil, java.io.File.new(directory))
|
45
|
-
rescue NativeException
|
47
|
+
rescue NativeException
|
46
48
|
raise SystemCallError.new(22), template # 22 is EINVAL
|
47
49
|
end
|
48
50
|
|
@@ -69,6 +71,6 @@ class File::Temp < File
|
|
69
71
|
#
|
70
72
|
def close
|
71
73
|
super
|
72
|
-
@file.finalize
|
74
|
+
@file.finalize if @file.respond_to?(:finalize)
|
73
75
|
end
|
74
76
|
end
|
data/lib/file/temp.rb
CHANGED
data/lib/file/unix/temp.rb
CHANGED
data/lib/file/windows/temp.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ffi'
|
2
4
|
require 'tmpdir'
|
3
5
|
|
6
|
+
# The File::Temp class encapsulates temporary files. It is a subclass of File.
|
4
7
|
class File::Temp < File
|
5
8
|
extend FFI::Library
|
6
9
|
ffi_lib FFI::Library::LIBC
|
10
|
+
ffi_convention :stdcall
|
7
11
|
|
8
12
|
# :stopdoc:
|
9
13
|
|
@@ -11,13 +15,13 @@ class File::Temp < File
|
|
11
15
|
|
12
16
|
attach_function :_close, [:int], :int
|
13
17
|
attach_function :fclose, [:pointer], :int
|
14
|
-
attach_function :_fdopen, [
|
18
|
+
attach_function :_fdopen, %i[int string], :pointer
|
15
19
|
attach_function :_fileno, [:pointer], :int
|
16
20
|
attach_function :_get_errno, [:pointer], :int
|
17
|
-
attach_function :_open, [
|
18
|
-
attach_function :_open_osfhandle, [
|
19
|
-
attach_function :tmpnam_s, [
|
20
|
-
attach_function :mktemp_s, :_mktemp_s, [
|
21
|
+
attach_function :_open, %i[string int int], :int
|
22
|
+
attach_function :_open_osfhandle, %i[long int], :int
|
23
|
+
attach_function :tmpnam_s, %i[pointer size_t], :int
|
24
|
+
attach_function :mktemp_s, :_mktemp_s, %i[pointer size_t], :int
|
21
25
|
|
22
26
|
private_class_method :_close, :fclose, :_fdopen, :_fileno, :_get_errno
|
23
27
|
private_class_method :_open, :_open_osfhandle, :mktemp_s, :tmpnam_s
|
@@ -25,10 +29,10 @@ class File::Temp < File
|
|
25
29
|
ffi_lib :kernel32
|
26
30
|
|
27
31
|
attach_function :CloseHandle, [:long], :bool
|
28
|
-
attach_function :CreateFileW, [
|
32
|
+
attach_function :CreateFileW, %i[buffer_in ulong ulong pointer ulong ulong ulong], :long
|
29
33
|
attach_function :DeleteFileW, [:string], :bool
|
30
|
-
attach_function :GetTempPathW, [
|
31
|
-
attach_function :GetTempFileNameW, [
|
34
|
+
attach_function :GetTempPathW, %i[ulong buffer_out], :ulong
|
35
|
+
attach_function :GetTempFileNameW, %i[buffer_in string uint buffer_out], :uint
|
32
36
|
|
33
37
|
private_class_method :_close, :_fdopen, :_open, :_open_osfhandle
|
34
38
|
private_class_method :CloseHandle, :CreateFileW, :DeleteFileW
|
@@ -134,7 +138,7 @@ class File::Temp < File
|
|
134
138
|
|
135
139
|
raise SystemCallError.new('tmpnam_s', errno) if errno != 0
|
136
140
|
|
137
|
-
directory + ptr.read_string
|
141
|
+
directory + (ptr.read_string << 'tmp')
|
138
142
|
end
|
139
143
|
|
140
144
|
private
|
@@ -153,13 +157,12 @@ class File::Temp < File
|
|
153
157
|
#
|
154
158
|
def get_temp_path
|
155
159
|
buf = 0.chr * 1024
|
156
|
-
buf.encode!(
|
160
|
+
buf.encode!('UTF-16LE')
|
157
161
|
|
158
|
-
|
159
|
-
|
160
|
-
end
|
162
|
+
rv = GetTempPathW(buf.size, buf)
|
163
|
+
raise SystemCallError, FFI.errno, 'GetTempPathW' if rv == 0
|
161
164
|
|
162
|
-
buf
|
165
|
+
buf[0, rv+2] # Characters plus null terminator
|
163
166
|
end
|
164
167
|
|
165
168
|
# The version of tmpfile() implemented by Microsoft is unacceptable.
|
@@ -171,15 +174,16 @@ class File::Temp < File
|
|
171
174
|
# project.
|
172
175
|
#
|
173
176
|
def tmpfile
|
174
|
-
file_name = get_temp_path
|
177
|
+
file_name = get_temp_path
|
178
|
+
|
175
179
|
buf = 0.chr * 1024
|
176
|
-
buf.encode!(
|
180
|
+
buf.encode!('UTF-16LE')
|
177
181
|
|
178
|
-
if GetTempFileNameW(file_name, 'rb_', 0, buf) == 0
|
182
|
+
if GetTempFileNameW(file_name, String.new('rb_', encoding: 'UTF-16LE'), 0, buf) == 0
|
179
183
|
raise SystemCallError, FFI.errno, 'GetTempFileNameW'
|
180
184
|
end
|
181
185
|
|
182
|
-
file_name = buf.strip
|
186
|
+
file_name = buf.strip + "\000\000".encode('UTF-16LE')
|
183
187
|
|
184
188
|
handle = CreateFileW(
|
185
189
|
file_name,
|
data/lib/file-temp.rb
CHANGED
data/spec/file_temp_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
######################################################################
|
2
4
|
# file_temp_spec.rb
|
3
5
|
#
|
@@ -17,143 +19,149 @@ RSpec.describe File::Temp do
|
|
17
19
|
@fh = nil
|
18
20
|
|
19
21
|
# Because Dir[] doesn't work right with backslashes
|
20
|
-
@dir = @dir.tr(
|
22
|
+
@dir = @dir.tr('\\', '/') if windows
|
21
23
|
end
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
25
|
+
after do
|
26
|
+
@dir = nil
|
27
|
+
@template = nil
|
28
|
+
@fh.close if @fh && !@fh.closed?
|
29
|
+
@fh = nil
|
30
|
+
|
31
|
+
Dir['temp_*'].each{ |f| File.delete(f) }
|
32
|
+
Dir['rb_file_temp_*'].each{ |f| File.delete(f) }
|
33
|
+
|
34
|
+
Dir.chdir(File::Temp::TMPDIR) do
|
35
|
+
Dir['temp_*'].each{ |f| File.delete(f) }
|
36
|
+
Dir['rb_file_temp_*'].each{ |f| File.delete(f) }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'constants' do
|
41
|
+
example 'library version is set to expected value' do
|
42
|
+
expect(File::Temp::VERSION).to eq('1.7.2')
|
26
43
|
expect(File::Temp::VERSION).to be_frozen
|
27
44
|
end
|
28
45
|
|
29
|
-
example
|
30
|
-
expect(File::Temp::TMPDIR).to
|
46
|
+
example 'TMPDIR constant is defined' do
|
47
|
+
expect(File::Temp::TMPDIR).to be_a(String)
|
31
48
|
expect(File::Temp::TMPDIR.size).to be > 0
|
32
49
|
end
|
33
50
|
end
|
34
51
|
|
35
|
-
context
|
36
|
-
example
|
52
|
+
context 'threads' do
|
53
|
+
example 'library works as expected with multiple threads' do
|
37
54
|
threads = []
|
38
|
-
expect{ 100.times{ threads << Thread.new{
|
39
|
-
expect{ threads.each
|
55
|
+
expect{ 100.times{ threads << Thread.new{ described_class.new } } }.not_to raise_error
|
56
|
+
expect{ threads.each(&:join) }.not_to raise_error
|
40
57
|
end
|
41
58
|
end
|
42
59
|
|
43
|
-
context
|
44
|
-
example
|
60
|
+
context 'constructor' do
|
61
|
+
example 'constructor works as expected with default auto delete option' do
|
45
62
|
expect{
|
46
|
-
@fh =
|
47
|
-
@fh.print
|
63
|
+
@fh = described_class.new
|
64
|
+
@fh.print 'hello'
|
48
65
|
@fh.close
|
49
66
|
}.not_to raise_error
|
50
67
|
end
|
51
68
|
|
52
|
-
example
|
69
|
+
example 'constructor works as expected with false auto delete option' do
|
53
70
|
expect{
|
54
|
-
@fh =
|
55
|
-
@fh.print
|
71
|
+
@fh = described_class.new(:delete => false)
|
72
|
+
@fh.print 'hello'
|
56
73
|
@fh.close
|
57
74
|
}.not_to raise_error
|
58
75
|
end
|
59
76
|
|
60
|
-
example
|
61
|
-
expect{
|
77
|
+
example 'constructor accepts and uses an optional template as expected' do
|
78
|
+
expect{ described_class.new(:delete => false, :template => 'temp_foo_XXXXXX').close }.not_to raise_error
|
62
79
|
expect(Dir["#{@dir}/temp_foo*"].length).to be >= 1
|
63
80
|
end
|
64
81
|
|
65
|
-
example
|
82
|
+
example 'constructor with false auto delete and block works as expected' do
|
66
83
|
expect{
|
67
|
-
|
84
|
+
described_class.open(:delete => false, :template => 'temp_foo_XXXXXX'){ |fh| fh.puts 'hello' }
|
68
85
|
}.not_to raise_error
|
69
86
|
expect(Dir["#{@dir}/temp_foo*"].length).to be >= 1
|
70
87
|
end
|
71
88
|
|
72
|
-
example
|
89
|
+
example 'other arguments are treated as file option arguments' do
|
73
90
|
expect{
|
74
|
-
@fh =
|
91
|
+
@fh = described_class.new(
|
75
92
|
:delete => true,
|
76
93
|
:template => 'temp_bar_XXXXX',
|
77
94
|
:directory => Dir.pwd,
|
78
95
|
:mode => 'xb'
|
79
96
|
)
|
80
|
-
}.to raise_error(ArgumentError, /invalid
|
97
|
+
}.to raise_error(ArgumentError, /invalid.*?(access)?.*?mode/) # Truffleruby missing the word 'access'
|
81
98
|
end
|
82
99
|
end
|
83
100
|
|
84
|
-
context
|
85
|
-
example
|
86
|
-
expect{ @fh =
|
101
|
+
context 'template' do
|
102
|
+
example 'template argument must be a string' do
|
103
|
+
expect{ @fh = described_class.new(:delete => false, :template => 1) }.to raise_error(TypeError)
|
87
104
|
end
|
88
105
|
|
89
|
-
example
|
90
|
-
skip
|
91
|
-
expect{
|
106
|
+
example 'an error is raised if a custom template is invalid' do
|
107
|
+
skip 'skipped on OSX' if osx
|
108
|
+
expect{ described_class.new(:delete => false, :template => 'xx') }.to raise_error(Errno::EINVAL)
|
92
109
|
end
|
93
110
|
end
|
94
111
|
|
95
|
-
context
|
96
|
-
example
|
97
|
-
expect(
|
98
|
-
expect{
|
99
|
-
expect(
|
112
|
+
context 'temp_name' do
|
113
|
+
example 'temp_name basic functionality' do
|
114
|
+
expect(described_class).to respond_to(:temp_name)
|
115
|
+
expect{ described_class.temp_name }.not_to raise_error
|
116
|
+
expect(described_class.temp_name).to be_a(String)
|
100
117
|
end
|
101
118
|
|
102
|
-
example
|
119
|
+
example 'temp_name returns expected value' do
|
103
120
|
if windows
|
104
|
-
expect(
|
121
|
+
expect(File.extname(described_class.temp_name)).to match(/^.*?\d*?tmp/)
|
105
122
|
else
|
106
|
-
expect(
|
123
|
+
expect(File.extname(described_class.temp_name)).to eq('.tmp')
|
107
124
|
end
|
108
125
|
end
|
109
126
|
end
|
110
127
|
|
111
|
-
context
|
112
|
-
example
|
113
|
-
@fh =
|
128
|
+
context 'path' do
|
129
|
+
example 'temp path basic functionality' do
|
130
|
+
@fh = described_class.new
|
114
131
|
expect(@fh).to respond_to(:path)
|
115
132
|
end
|
116
133
|
|
117
|
-
example
|
118
|
-
@fh =
|
134
|
+
example 'temp path is nil if delete option is true' do
|
135
|
+
@fh = described_class.new
|
119
136
|
expect(@fh.path).to be_nil
|
120
137
|
end
|
121
138
|
|
122
|
-
example
|
123
|
-
@fh =
|
139
|
+
example 'temp path is not nil if delete option is false' do
|
140
|
+
@fh = described_class.new(delete: false)
|
124
141
|
expect(@fh.path).not_to be_nil
|
125
142
|
end
|
126
143
|
end
|
127
144
|
|
128
|
-
context
|
129
|
-
|
130
|
-
methods =
|
131
|
-
expect(methods).not_to include('_fileno')
|
132
|
-
expect(methods).not_to include('mkstemp')
|
133
|
-
expect(methods).not_to include('_umask')
|
134
|
-
expect(methods).not_to include('fclose')
|
135
|
-
expect(methods).not_to include('strerror')
|
136
|
-
expect(methods).not_to include('tmpnam')
|
137
|
-
expect(methods).not_to include('CloseHandle')
|
138
|
-
expect(methods).not_to include('CreateFileA')
|
139
|
-
expect(methods).not_to include('DeleteFileA')
|
140
|
-
expect(methods).not_to include('GetTempPathA')
|
141
|
-
expect(methods).not_to include('GetTempFileNameA')
|
145
|
+
context 'ffi' do
|
146
|
+
before do
|
147
|
+
@methods = described_class.methods(false).map(&:to_s)
|
142
148
|
end
|
143
|
-
end
|
144
|
-
|
145
|
-
after do
|
146
|
-
@dir = nil
|
147
|
-
@template = nil
|
148
|
-
@fh.close if @fh && !@fh.closed?
|
149
|
-
@fh = nil
|
150
149
|
|
151
|
-
|
152
|
-
|
150
|
+
example 'ffi unix functions are private', :unix do
|
151
|
+
expect(@methods).not_to include('_fileno')
|
152
|
+
expect(@methods).not_to include('mkstemp')
|
153
|
+
expect(@methods).not_to include('_umask')
|
154
|
+
expect(@methods).not_to include('fclose')
|
155
|
+
expect(@methods).not_to include('strerror')
|
156
|
+
expect(@methods).not_to include('tmpnam')
|
157
|
+
end
|
153
158
|
|
154
|
-
|
155
|
-
|
156
|
-
|
159
|
+
example 'ffi windows functions are private', :windows do
|
160
|
+
expect(@methods).not_to include('CloseHandle')
|
161
|
+
expect(@methods).not_to include('CreateFileA')
|
162
|
+
expect(@methods).not_to include('DeleteFileA')
|
163
|
+
expect(@methods).not_to include('GetTempPathA')
|
164
|
+
expect(@methods).not_to include('GetTempFileNameA')
|
157
165
|
end
|
158
166
|
end
|
159
167
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: file-temp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2023-07-11 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -65,6 +65,34 @@ dependencies:
|
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '3.9'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rubocop
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rubocop-rspec
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
type: :development
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
68
96
|
- !ruby/object:Gem::Dependency
|
69
97
|
name: rake
|
70
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,37 +116,31 @@ executables: []
|
|
88
116
|
extensions: []
|
89
117
|
extra_rdoc_files: []
|
90
118
|
files:
|
119
|
+
- CHANGES.md
|
120
|
+
- Gemfile
|
91
121
|
- LICENSE
|
92
|
-
-
|
93
|
-
- spec
|
94
|
-
- spec/file_temp_spec.rb
|
122
|
+
- MANIFEST.md
|
95
123
|
- README.md
|
96
124
|
- Rakefile
|
97
|
-
- MANIFEST.md
|
98
|
-
- certs
|
99
125
|
- certs/djberg96_pub.pem
|
100
|
-
-
|
126
|
+
- file-temp.gemspec
|
101
127
|
- lib/file-temp.rb
|
102
|
-
- lib/file
|
103
|
-
- lib/file/temp.rb
|
104
|
-
- lib/file/java
|
105
128
|
- lib/file/java/temp.rb
|
106
|
-
- lib/file/
|
129
|
+
- lib/file/temp.rb
|
107
130
|
- lib/file/unix/temp.rb
|
108
|
-
- lib/file/windows
|
109
131
|
- lib/file/windows/temp.rb
|
110
|
-
-
|
111
|
-
- CHANGES.md
|
132
|
+
- spec/file_temp_spec.rb
|
112
133
|
homepage: http://github.com/djberg96/file-temp
|
113
134
|
licenses:
|
114
135
|
- Apache-2.0
|
115
136
|
metadata:
|
116
137
|
homepage_uri: https://github.com/djberg96/file-temp
|
117
138
|
bug_tracker_uri: https://github.com/djberg96/file-temp/issues
|
118
|
-
changelog_uri: https://github.com/djberg96/file-temp/blob/
|
139
|
+
changelog_uri: https://github.com/djberg96/file-temp/blob/main/CHANGES.md
|
119
140
|
documentation_uri: https://github.com/djberg96/file-temp/wiki
|
120
141
|
source_code_uri: https://github.com/djberg96/file-temp
|
121
142
|
wiki_uri: https://github.com/djberg96/file-temp/wiki
|
143
|
+
rubygems_mfa_required: 'true'
|
122
144
|
post_install_message:
|
123
145
|
rdoc_options: []
|
124
146
|
require_paths:
|
@@ -134,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
156
|
- !ruby/object:Gem::Version
|
135
157
|
version: '0'
|
136
158
|
requirements: []
|
137
|
-
rubygems_version: 3.
|
159
|
+
rubygems_version: 3.3.26
|
138
160
|
signing_key:
|
139
161
|
specification_version: 4
|
140
162
|
summary: An alternative way to generate temp files
|
metadata.gz.sig
CHANGED
Binary file
|