unix_socks 0.0.0 → 0.1.0
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
- data/CHANGES.md +13 -0
- data/Rakefile +1 -1
- data/lib/unix_socks/server.rb +13 -1
- data/lib/unix_socks/version.rb +1 -1
- data/spec/spec_helper.rb +2 -6
- data/spec/unix_socks/server_spec.rb +11 -0
- data/unix_socks.gemspec +3 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42f022aceb02d1850152f9dfb0d7c3f04ef4556eadab41d25a3f36c5f9a90fad
|
4
|
+
data.tar.gz: 0c7f6eafbdb60e40157c208f6b5e6ea506d69c43ba0e46bc15fe5177cc8bb6c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bdafd2f6ce48a538da70c7d7e15f80546274d303027dfcdae55bc09329443727accbe41dd6d5ed8df4e1e9cb790775b9b308afeba870660a5eeb8881cf82a6a
|
7
|
+
data.tar.gz: 1b2cc57e1c42713597bb136972fcbfea26eb41c8835c3b5d2a746ba81be3b3e616139c7e4f23504b6ad48fee14235ffa05f581fb4ea6e0fe55ebe786dc4185f8
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 2025-09-07 v0.1.0
|
4
|
+
|
5
|
+
- Introduced `UnixSocks::Server.default_runtime_dir` class method
|
6
|
+
- Simplified coverage configuration by using `GemHadar::SimpleCov.start`
|
7
|
+
|
8
|
+
## 2025-07-13 v0.0.1
|
9
|
+
|
10
|
+
* Modify server to use `at_exit` for socket cleanup:
|
11
|
+
* Replace direct call to `remove_socket_path` with an `at_exit` block, to
|
12
|
+
make sure that a stale socket path is removed at program exit, but not
|
13
|
+
before.
|
14
|
+
* Add corresponding test expectation for `at_exit` invocation
|
15
|
+
|
3
16
|
## 2025-07-01 v0.0.0
|
4
17
|
|
5
18
|
* Start
|
data/Rakefile
CHANGED
@@ -23,7 +23,7 @@ GemHadar do
|
|
23
23
|
'.yardoc', 'doc', 'tags', 'errors.lst', 'cscope.out', 'coverage', 'tmp',
|
24
24
|
'yard'
|
25
25
|
package_ignore '.all_images.yml', '.tool-versions', '.gitignore', 'VERSION',
|
26
|
-
'.rspec',
|
26
|
+
'.rspec', '.github'
|
27
27
|
readme 'README.md'
|
28
28
|
|
29
29
|
required_ruby_version '~> 3.1'
|
data/lib/unix_socks/server.rb
CHANGED
@@ -22,6 +22,18 @@ class UnixSocks::Server
|
|
22
22
|
#
|
23
23
|
# @return [ String ] The default runtime directory path.
|
24
24
|
def default_runtime_dir
|
25
|
+
self.class.default_runtime_dir
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns the default runtime directory path based on the XDG_RUNTIME_DIR
|
29
|
+
# environment variable.
|
30
|
+
#
|
31
|
+
# If the XDG_RUNTIME_DIR environment variable is set, its value is used as
|
32
|
+
# the runtime directory path.
|
33
|
+
# Otherwise, the default path '~/.local/run' is returned.
|
34
|
+
#
|
35
|
+
# @return [ String ] The default runtime directory path.
|
36
|
+
def self.default_runtime_dir
|
25
37
|
File.expand_path(ENV.fetch('XDG_RUNTIME_DIR', '~/.local/run'))
|
26
38
|
end
|
27
39
|
|
@@ -92,7 +104,7 @@ class UnixSocks::Server
|
|
92
104
|
Thread.new do
|
93
105
|
receive(force:, &block)
|
94
106
|
ensure
|
95
|
-
remove_socket_path
|
107
|
+
at_exit { remove_socket_path }
|
96
108
|
end
|
97
109
|
end
|
98
110
|
|
data/lib/unix_socks/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -23,6 +23,16 @@ describe UnixSocks::Server do
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
describe '.default_runtime_dir' do
|
27
|
+
it 'returns the correct default runtime directory' do
|
28
|
+
ENV['XDG_RUNTIME_DIR'] = nil
|
29
|
+
expect(described_class.default_runtime_dir).to eq(File.expand_path('~/.local/run'))
|
30
|
+
|
31
|
+
ENV['XDG_RUNTIME_DIR'] = '/tmp/runtime'
|
32
|
+
expect(described_class.default_runtime_dir).to eq('/tmp/runtime')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
26
36
|
describe '#server_socket_path' do
|
27
37
|
it 'returns the correct socket path' do
|
28
38
|
expected_path = File.expand_path(File.join(runtime_dir, socket_name))
|
@@ -112,6 +122,7 @@ describe UnixSocks::Server do
|
|
112
122
|
it 'runs the receiver in a background thread' do
|
113
123
|
expect(Thread).to receive(:new).and_yield
|
114
124
|
expect(FileUtils).to receive(:rm_f).with(server.server_socket_path)
|
125
|
+
expect(server).to receive(:at_exit) { |&block| block.call }
|
115
126
|
expect(server).to receive(:receive).with(force: true)
|
116
127
|
|
117
128
|
server.receive_in_background(force: true)
|
data/unix_socks.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: unix_socks 0.
|
2
|
+
# stub: unix_socks 0.1.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "unix_socks".freeze
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.1.0".freeze
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.specification_version = 4
|
25
25
|
|
26
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~>
|
26
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 2.2".freeze])
|
27
27
|
s.add_development_dependency(%q<all_images>.freeze, ["~> 0.4".freeze])
|
28
28
|
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.2".freeze])
|
29
29
|
s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unix_socks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '
|
18
|
+
version: '2.2'
|
19
19
|
type: :development
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '
|
25
|
+
version: '2.2'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: all_images
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|