ratomic 0.3.4 → 0.3.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: 9f7f62fe33dd95ae779c85f6cb943ea7e8127e3b856cf70d24fdf6d9ef539449
4
- data.tar.gz: '08ef180ab7ad61209c4c054bca924da721e56ee226438d7d46ab647311deea5d'
3
+ metadata.gz: 6cce49de24aecb066a0fcab6361ab4637b138ea1162888678701ba9030bfe2d1
4
+ data.tar.gz: 93ff58b2084bb8fd10edccf7b059e5e2b6503f0814256ecabba9065c9a5e4139
5
5
  SHA512:
6
- metadata.gz: 2d575eb6138ff11f651692660725a46c7d1b60e4ae81b8bbcf1ede502dc57509d5b9db95ea7417e6015fc215ec999b4e1d9a1ddc7fe68ef9dab74a6d6b666d0c
7
- data.tar.gz: 8a3e2b05eb1df9f5b4d08e7c360a350c73073fef8252fcb6baad5596e5c36077108b3e15228c5317189d3598190faca298f1d364f23ab59200929ec0d7a253b4
6
+ metadata.gz: 49cb72854fd73aa9e0cc5c3ee9614ba01433748101bd6f7037d8b498d3b9853761293efe1a680b2c3e9251c5b85274c250e068674696959e84513080682b8cdf
7
+ data.tar.gz: 63f5f4e7584a46d5f3fd34f611fce08e0d6d451d72b91907a947018ce5b2a14ffca87e551189ee92dec64be3989ed56f062cf8f96a62a4c5a1df42890b456093
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.5] - 2026-06-06
4
+
5
+ - Fix the native loader so development loads the compiled extension from the
6
+ workspace layout while installed gems still resolve the versioned packaged
7
+ native path.
8
+ - Add loader coverage for the native-enabled path and keep the release smoke
9
+ test validating the packaged native gem shape before publish.
10
+
3
11
  ## [0.3.4] - 2026-06-06
4
12
 
5
13
  - Move the compiled native extension into the versioned `lib/ratomic/4.0/`
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Ratomic
4
4
  # Current gem version string.
5
- VERSION = "0.3.4"
5
+ VERSION = "0.3.5"
6
6
  end
data/lib/ratomic.rb CHANGED
@@ -9,27 +9,47 @@ require "rbconfig"
9
9
  #
10
10
  # The public API currently includes {Counter}, {Map}, {Queue}, and {Pool}.
11
11
  module Ratomic
12
- def self.load_native_extension
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
12
+ # Base error class for Ratomic-specific failures.
13
+ class Error < StandardError; end
14
+
15
+ class << self
16
+ def native_extension_path
17
+ ruby_api_ver = RbConfig::CONFIG.fetch("ruby_version").split(".", 3)[0, 2].join(".")
18
+ "ratomic/#{ruby_api_ver}/ratomic"
19
+ end
20
+ private :native_extension_path
21
+
22
+ def development_native_extension_path
23
+ "ratomic/ratomic"
24
+ end
25
+ private :development_native_extension_path
26
+
27
+ def load_native_extension_path(path)
28
+ require_relative path
29
+ true
30
+ rescue LoadError
31
+ false
32
+ end
33
+ private :load_native_extension_path
19
34
 
20
- def self.native_enabled?
21
- @native_enabled == true
35
+ def load_native_extension
36
+ @native_enabled =
37
+ load_native_extension_path(native_extension_path) ||
38
+ load_native_extension_path(development_native_extension_path)
39
+ end
40
+
41
+ def native_enabled?
42
+ @native_enabled == true
43
+ end
22
44
  end
23
45
  private_class_method :load_native_extension
24
-
25
- # Base error class for Ratomic-specific failures.
26
- class Error < StandardError; end
27
46
  end
28
47
 
29
48
  Ratomic.send(:load_native_extension)
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"
49
+ require "ratomic/version"
50
+
51
+ require "ratomic/undefined"
52
+ require "ratomic/counter"
53
+ require "ratomic/map"
54
+ require "ratomic/queue"
55
+ require "ratomic/pool"
data/ratomic.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  "backed by native Rust concurrency primitives."
15
15
  spec.homepage = "https://mperham.github.io/ratomic"
16
16
  spec.license = "MIT"
17
- spec.required_ruby_version = [">= 4.0", "< 4.1.dev"]
17
+ spec.required_ruby_version = ">= 4.0"
18
18
 
19
19
  spec.metadata["homepage_uri"] = spec.homepage
20
20
  spec.metadata["source_code_uri"] = "https://github.com/mperham/ratomic"
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.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
@@ -74,9 +74,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '4.0'
77
- - - "<"
78
- - !ruby/object:Gem::Version
79
- version: 4.1.dev
80
77
  required_rubygems_version: !ruby/object:Gem::Requirement
81
78
  requirements:
82
79
  - - ">="