rucy 0.3.15 → 0.4.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/.github/workflows/release-gem.yml +10 -1
- data/.github/workflows/test.yml +9 -0
- data/ChangeLog.md +6 -0
- data/VERSION +1 -1
- data/include/rucy/extension.h.erb +4 -0
- data/include/rucy/function.h.erb +14 -0
- data/lib/rucy/extension.rb +1 -1
- data/rucy.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0ca0dce824c22dfee0f0bcc9e8a593d29a55d793d2e71cda65b5aa0438a1f42a
|
|
4
|
+
data.tar.gz: 5600a73ce3d2c837f2fec6d3052ece836ce2f11d8035c5192c4193ffced10208
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38794541c07f9ea75e4616a572c225427eca8ff86ea70bcd19e53114040bd270cf441e0d984fa876461de189ffb0baaa25f7e17e9a66530cadeef919c991acdd
|
|
7
|
+
data.tar.gz: d41b2ec54cbb56fbd6ba86294bba9e20a63ccf3bc94078662489d4e42137a8f5f8ceda6688477a809583e14e9fe17db181e07f65be8a31e85b876ea32689cc73
|
|
@@ -26,8 +26,17 @@ jobs:
|
|
|
26
26
|
- name: setup dependencies
|
|
27
27
|
run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
|
|
28
28
|
|
|
29
|
+
- name: packages
|
|
30
|
+
run: bundle exec rake packages
|
|
31
|
+
|
|
32
|
+
- name: setup zig
|
|
33
|
+
if: github.event.repository.name == 'reflex-terminal'
|
|
34
|
+
uses: mlugg/setup-zig@v2
|
|
35
|
+
with:
|
|
36
|
+
version: 0.16.0
|
|
37
|
+
|
|
29
38
|
- name: test
|
|
30
|
-
run: bundle exec rake
|
|
39
|
+
run: bundle exec rake test
|
|
31
40
|
|
|
32
41
|
- name: create gem
|
|
33
42
|
id: gem
|
data/.github/workflows/test.yml
CHANGED
|
@@ -27,6 +27,15 @@ jobs:
|
|
|
27
27
|
- name: packages
|
|
28
28
|
run: bundle exec rake verbose packages
|
|
29
29
|
|
|
30
|
+
- name: setup zig
|
|
31
|
+
if: github.event.repository.name == 'reflex-terminal'
|
|
32
|
+
uses: mlugg/setup-zig@v2
|
|
33
|
+
with:
|
|
34
|
+
version: 0.16.0
|
|
35
|
+
|
|
36
|
+
- name: vendor
|
|
37
|
+
run: bundle exec rake vendor
|
|
38
|
+
|
|
30
39
|
- name: lib
|
|
31
40
|
run: bundle exec rake verbose lib
|
|
32
41
|
|
data/ChangeLog.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# rucy ChangeLog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [v0.4.0] - 2026-08-04
|
|
5
|
+
|
|
6
|
+
- Add Rucy::yield and route extension block yields through it
|
|
7
|
+
- Catch RubyException thrown across extension bundles
|
|
8
|
+
|
|
9
|
+
|
|
4
10
|
## [v0.3.15] - 2026-06-23
|
|
5
11
|
|
|
6
12
|
- Add define_wrapper_equality_methods for wrapper identity
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.4.0
|
|
@@ -234,6 +234,10 @@
|
|
|
234
234
|
catch (const std::exception& e) \
|
|
235
235
|
{ \
|
|
236
236
|
Xot::String text = e.what(), type = typeid(e).name(); \
|
|
237
|
+
if (type == typeid(Rucy::RubyException).name()) \
|
|
238
|
+
{ \
|
|
239
|
+
RUCY_GOTO_RAISE(((const Rucy::RubyException&) e).value()); \
|
|
240
|
+
} \
|
|
237
241
|
if (!type.empty()) \
|
|
238
242
|
{ \
|
|
239
243
|
if (!text.empty()) text += " "; \
|
data/include/rucy/function.h.erb
CHANGED
|
@@ -52,6 +52,20 @@ namespace Rucy
|
|
|
52
52
|
|
|
53
53
|
% end
|
|
54
54
|
|
|
55
|
+
% NTIMES.each do |n|
|
|
56
|
+
inline Value yield (<%= params(n, ", ") {|i| "Value v#{i}"} %>)
|
|
57
|
+
{
|
|
58
|
+
% if n == 0
|
|
59
|
+
RubyValue* argv = NULL;
|
|
60
|
+
% else
|
|
61
|
+
RubyValue argv[] = {<%= params(n, ", ") {|i| "v#{i}"} %>};
|
|
62
|
+
% end
|
|
63
|
+
return protect(rb_yield_values2, <%= n %>, (const RubyValue*) argv);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
% end
|
|
67
|
+
|
|
68
|
+
|
|
55
69
|
}// Rucy
|
|
56
70
|
|
|
57
71
|
|
data/lib/rucy/extension.rb
CHANGED
data/rucy.gemspec
CHANGED
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
s.platform = Gem::Platform::RUBY
|
|
26
26
|
s.required_ruby_version = '>= 3.0.0'
|
|
27
27
|
|
|
28
|
-
s.add_dependency 'xot', '~> 0.
|
|
28
|
+
s.add_dependency 'xot', '~> 0.4.0'
|
|
29
29
|
|
|
30
30
|
s.files = `git ls-files`.split $/
|
|
31
31
|
s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rucy
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- xordog
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-08-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xot
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
19
|
+
version: 0.4.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.
|
|
26
|
+
version: 0.4.0
|
|
27
27
|
description: This library helps you to develop Ruby Extension by C++.
|
|
28
28
|
email: xordog@gmail.com
|
|
29
29
|
executables:
|