ratomic 0.3.2-x86_64-linux → 0.3.4-x86_64-linux

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: 61305ff0b5b49be8adb0f5462e77f2ec120689fafedf2e9fff7821da71cd7afb
4
- data.tar.gz: abf863bfcee67c03c484fc248a0e8caa4aea70b61c9bc2581bf8c45a6753a11a
3
+ metadata.gz: ef65eaccb7c8da9d2349a96a2c2a4623e03057af58f40eff99f4c50a61ca4354
4
+ data.tar.gz: 63efd7b721c052e339a896aaac374de303b05fc00f47d64e54b8018edd3ae1ec
5
5
  SHA512:
6
- metadata.gz: a29b43977039b750057539362cdd9f816b7915a1fac0beb99f4f4e397449c05a28b5400f4e152dad7e823ea5b4ec02e93c95a95d30f137dda1ad53b53c082ee6
7
- data.tar.gz: 5d28f2d2f422eaa74ce2b236935ed9bc115abcd63e93b9888e5119d77c6b7a33144c4b2bd71e9ed6bc71aecaa976efd94b4b98d57ff13274d0b018eea5f97d46
6
+ metadata.gz: 24f356c80be86a4ebadad8b765d3593654845e4b430dc0c15a8f73bc00de08b1bc0c5e90ec71ae044dc15286f6bb382ce25436b2eac82aa839ae4c65017d2f75
7
+ data.tar.gz: 7907c966ebaa8e4b3131081a1aef56ce106357e3a7db76ec49fc939d3a1245d61b20f15c22c46e1a5242d0255d0fa2f14a3bcf328895df987f9c8eb5b85bab71
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.4] - 2026-06-06
4
+
5
+ - Move the compiled native extension into the versioned `lib/ratomic/4.0/`
6
+ layout used by the installed gem.
7
+ - Load the versioned native artifact explicitly and mark native support as
8
+ unavailable when the extension is missing.
9
+ - Add loader coverage for both the versioned native path and the native-disabled
10
+ branch.
11
+
12
+ ## [0.3.3] - 2026-06-06
13
+
14
+ - Fix `require "ratomic"` for installed gems by resolving the packaged native
15
+ extension layout directly.
16
+ - Add a release smoke test that installs the built gem artifact into a clean
17
+ gem home before publishing.
18
+
3
19
  ## [0.3.2] - 2026-06-06
4
20
 
5
21
  - Fix `require "ratomic"` for installed gems by resolving the versioned native
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Ratomic
4
4
  # Current gem version string.
5
- VERSION = "0.3.2"
5
+ VERSION = "0.3.4"
6
6
  end
data/lib/ratomic.rb CHANGED
@@ -9,29 +9,27 @@ require "rbconfig"
9
9
  #
10
10
  # The public API currently includes {Counter}, {Map}, {Queue}, and {Pool}.
11
11
  module Ratomic
12
- # Base error class for Ratomic-specific failures.
13
- class Error < StandardError; end
14
-
15
12
  def self.load_native_extension
16
- ruby_version = RbConfig::CONFIG.fetch("ruby_version")
17
- versioned_native = File.join("ratomic", ruby_version, "ratomic")
18
- versioned_path = File.join(__dir__, "ratomic", ruby_version)
13
+ ruby_api_ver = RbConfig::CONFIG.fetch("ruby_version").split(".", 3)[0, 2].join(".")
14
+ require_relative "ratomic/#{ruby_api_ver}/ratomic"
15
+ @native_enabled = true
16
+ rescue LoadError
17
+ @native_enabled = false
18
+ end
19
19
 
20
- if File.exist?(File.join(versioned_path, "ratomic.so")) ||
21
- File.exist?(File.join(versioned_path, "ratomic.bundle"))
22
- require versioned_native
23
- else
24
- require "ratomic/ratomic"
25
- end
20
+ def self.native_enabled?
21
+ @native_enabled == true
26
22
  end
27
23
  private_class_method :load_native_extension
24
+
25
+ # Base error class for Ratomic-specific failures.
26
+ class Error < StandardError; end
28
27
  end
29
28
 
30
29
  Ratomic.send(:load_native_extension)
31
- require "ratomic/version"
32
-
33
- require "ratomic/undefined"
34
- require "ratomic/counter"
35
- require "ratomic/map"
36
- require "ratomic/queue"
37
- require "ratomic/pool"
30
+ require_relative "ratomic/version"
31
+ require_relative "ratomic/undefined"
32
+ require_relative "ratomic/counter"
33
+ require_relative "ratomic/map"
34
+ require_relative "ratomic/queue"
35
+ require_relative "ratomic/pool"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ratomic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.4
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Mike Perham
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-06-05 00:00:00.000000000 Z
12
+ date: 2026-06-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ractor-safe counters, maps, queues, and ownership-transfer pools backed
15
15
  by native Rust concurrency primitives.
@@ -23,12 +23,12 @@ files:
23
23
  - LICENSE.txt
24
24
  - README.md
25
25
  - lib/ratomic.rb
26
- - lib/ratomic/3.0/ratomic.so
27
- - lib/ratomic/3.1/ratomic.so
28
- - lib/ratomic/3.2/ratomic.so
29
- - lib/ratomic/3.3/ratomic.so
30
- - lib/ratomic/3.4/ratomic.so
31
- - lib/ratomic/4.0/ratomic.so
26
+ - lib/ratomic/4.0/3.0/ratomic.so
27
+ - lib/ratomic/4.0/3.1/ratomic.so
28
+ - lib/ratomic/4.0/3.2/ratomic.so
29
+ - lib/ratomic/4.0/3.3/ratomic.so
30
+ - lib/ratomic/4.0/3.4/ratomic.so
31
+ - lib/ratomic/4.0/4.0/ratomic.so
32
32
  - lib/ratomic/counter.rb
33
33
  - lib/ratomic/map.rb
34
34
  - lib/ratomic/pool.rb
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes