archive_r_ruby 0.1.17 → 0.1.18

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/archive_r.rb +19 -12
  4. metadata +6 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7933b5a6c8937351d27c46f2a02b7fe537281961cd161fabbc42f5ea5c5cedc
4
- data.tar.gz: 8149756d4befa238a17821ec13680a62d68c3a4caf775f866fb3de9abd378ec1
3
+ metadata.gz: 2a1e4f226f49730cf2c7dd54e5c1d8f412f314560c8d4edd2cf7a55032ad2207
4
+ data.tar.gz: fc7b088f3649690fc782ef48f261a41b6d3c7efddfe344d3d20aeeea09d36d49
5
5
  SHA512:
6
- metadata.gz: e580feab6f0247566a8b2a1c6cbd5484b54391f866c66f6e5acf1229b75fba15e7d2fe1072cfe7557250fd5cc42eca6ad88212080fa2cc7ce7552ba479241294
7
- data.tar.gz: aa2318e00a3160692865f4167759f9fc829ecb77c186dd244f2038d7ecbe68490eb5bdbef6483b32c6113d57c97da6048fed74e7f8e719f3b6be92dea1eceec2
6
+ metadata.gz: 603425b3367683de1599678128ce7942193494540036149681cefff187dee7d2986de462af8ec4d82d82cc7147dd4d2dc096c159b59f9fbd1d3be32a2c2f46be
7
+ data.tar.gz: a043c972ac1901b23aba13dde16fa85914bcad4b2a3b6191d72f75e9c3ca2bd11191b19661a6384e2d0ad673e37e84106829fe30e52a9ed59d58b08d0d138468
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.17
1
+ 0.1.18
data/lib/archive_r.rb CHANGED
@@ -17,21 +17,28 @@ begin
17
17
  end
18
18
  end
19
19
 
20
- # Prefer the packaged gem layout (lib/archive_r/archive_r.so)
21
- require_relative 'archive_r/archive_r'
22
- rescue LoadError
23
- begin
24
- # Fallback to the local development layout (bindings/ruby/archive_r.so)
25
- require_relative '../archive_r'
26
- rescue LoadError
20
+ load_errors = []
21
+ extension_candidates = [
22
+ ['require_relative', 'archive_r/archive_r'],
23
+ ['require_relative', '../archive_r'],
24
+ ['require', 'archive_r/archive_r']
25
+ ]
26
+
27
+ loaded = false
28
+ extension_candidates.each do |method_name, target|
27
29
  begin
28
- # Fallback for Windows/MinGW where extension might be directly in lib/ or current dir
29
- require 'archive_r/archive_r'
30
- rescue LoadError
31
- # Last resort: try requiring without directory prefix (common in some Windows setups)
32
- require 'archive_r'
30
+ __send__(method_name, target)
31
+ loaded = true
32
+ break
33
+ rescue LoadError => e
34
+ load_errors << [method_name, target, e.message]
33
35
  end
34
36
  end
37
+
38
+ unless loaded
39
+ details = load_errors.map { |method_name, target, message| "#{method_name}(#{target}): #{message}" }.join(' | ')
40
+ raise LoadError, "Failed to load archive_r native extension. #{details}"
41
+ end
35
42
  end
36
43
 
37
44
  module Archive_r
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archive_r_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - raizo.tcs
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-02-26 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: rake
@@ -95,6 +96,7 @@ metadata:
95
96
  source_code_uri: https://github.com/raizo-tcs/archive_r
96
97
  bug_tracker_uri: https://github.com/raizo-tcs/archive_r/issues
97
98
  changelog_uri: https://github.com/raizo-tcs/archive_r/releases
99
+ post_install_message:
98
100
  rdoc_options: []
99
101
  require_paths:
100
102
  - lib
@@ -109,7 +111,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
111
  - !ruby/object:Gem::Version
110
112
  version: '0'
111
113
  requirements: []
112
- rubygems_version: 4.0.6
114
+ rubygems_version: 3.4.20
115
+ signing_key:
113
116
  specification_version: 4
114
117
  summary: 'Ruby bindings for archive_r: libarchive-based streaming traversal for recursive
115
118
  nested archives (no temp files, no large in-memory buffers)'