rucy 0.2.1 → 0.3
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/.doc/ext/rucy/class.cpp +3 -3
- data/.doc/ext/rucy/struct.cpp +1 -1
- data/.github/workflows/release-gem.yml +1 -1
- data/.github/workflows/test.yml +3 -0
- data/ChangeLog.md +5 -0
- data/VERSION +1 -1
- data/ext/rucy/class.cpp +3 -3
- data/ext/rucy/struct.cpp +1 -1
- data/include/rucy/defs.h +14 -0
- data/include/rucy/extension.h.erb +71 -70
- data/include/rucy/ruby.h +4 -0
- data/include/rucy.h +1 -0
- data/rucy.gemspec +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c0b7b7213f348219974af330be0736100deb8a4cfdf64c4d054f9fc1805d987
|
4
|
+
data.tar.gz: 4a310f68ba7ea36f7bbcc50c6877faaed482373961e30b0739f1d32028677d5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e860567f261af864e356afa4f1696daea25250df6bb16ad9d47b8fd8056b8f69a383af5bb1f7a6faab619f873510392978dff2789cefd26a07fe7562c952b321
|
7
|
+
data.tar.gz: 4afb44af2a00612432ded96767d7ffa398788d95c4176151c2834b96c410af5aecb86a8ba133d3866911d3414cc56e00c2494d4870d05346990b36992b793d11
|
data/.doc/ext/rucy/class.cpp
CHANGED
@@ -22,9 +22,9 @@ namespace Rucy
|
|
22
22
|
}// Rucy
|
23
23
|
|
24
24
|
|
25
|
-
RUCY_WRAPPER_VALUE_FROM_TO(Base)
|
26
|
-
RUCY_WRAPPER_VALUE_FROM_TO(Sub)
|
27
|
-
RUCY_WRAPPER_VALUE_FROM_TO(SimpleObj)
|
25
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, Base)
|
26
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, Sub)
|
27
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, SimpleObj)
|
28
28
|
|
29
29
|
|
30
30
|
template <typename T>
|
data/.doc/ext/rucy/struct.cpp
CHANGED
data/.github/workflows/test.yml
CHANGED
data/ChangeLog.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3
|
data/ext/rucy/class.cpp
CHANGED
@@ -22,9 +22,9 @@ namespace Rucy
|
|
22
22
|
}// Rucy
|
23
23
|
|
24
24
|
|
25
|
-
RUCY_WRAPPER_VALUE_FROM_TO(Base)
|
26
|
-
RUCY_WRAPPER_VALUE_FROM_TO(Sub)
|
27
|
-
RUCY_WRAPPER_VALUE_FROM_TO(SimpleObj)
|
25
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, Base)
|
26
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, Sub)
|
27
|
+
RUCY_WRAPPER_VALUE_FROM_TO(RUCY_EXPORT, SimpleObj)
|
28
28
|
|
29
29
|
|
30
30
|
template <typename T>
|
data/ext/rucy/struct.cpp
CHANGED
data/include/rucy/defs.h
ADDED
@@ -6,84 +6,85 @@
|
|
6
6
|
|
7
7
|
#include <xot/ref.h>
|
8
8
|
#include <xot/string.h>
|
9
|
+
#include <rucy/defs.h>
|
9
10
|
#include <rucy/rucy.h>
|
10
11
|
#include <rucy/value.h>
|
11
12
|
#include <rucy/exception.h>
|
12
13
|
|
13
14
|
|
14
|
-
#define RUCY_DECLARE_VALUE_FROM(native_class) \
|
15
|
+
#define RUCY_DECLARE_VALUE_FROM(export, native_class) \
|
15
16
|
namespace Rucy \
|
16
17
|
{ \
|
17
|
-
Value value (const native_class& obj); \
|
18
|
-
Value value (const native_class* obj); \
|
18
|
+
export Value value (const native_class& obj); \
|
19
|
+
export Value value (const native_class* obj); \
|
19
20
|
}
|
20
21
|
|
21
|
-
#define RUCY_DECLARE_VALUE_TO(native_class) \
|
22
|
+
#define RUCY_DECLARE_VALUE_TO(export, native_class) \
|
22
23
|
namespace Rucy \
|
23
24
|
{ \
|
24
|
-
template <> native_class* value_to< native_class*> (Value value, bool); \
|
25
|
-
template <> const native_class* value_to<const native_class*> (Value value, bool); \
|
26
|
-
template <> native_class& value_to< native_class&> (Value value, bool convert); \
|
27
|
-
template <> const native_class& value_to<const native_class&> (Value value, bool convert); \
|
25
|
+
template <> export native_class* value_to< native_class*> (Value value, bool); \
|
26
|
+
template <> export const native_class* value_to<const native_class*> (Value value, bool); \
|
27
|
+
template <> export native_class& value_to< native_class&> (Value value, bool convert); \
|
28
|
+
template <> export const native_class& value_to<const native_class&> (Value value, bool convert); \
|
28
29
|
}
|
29
30
|
|
30
|
-
#define RUCY_DECLARE_ARRAY_TO(native_class) \
|
31
|
+
#define RUCY_DECLARE_ARRAY_TO(export, native_class) \
|
31
32
|
namespace Rucy \
|
32
33
|
{ \
|
33
|
-
template <> native_class value_to<native_class> (Value value, bool convert); \
|
34
|
-
template <> native_class value_to<native_class> (int argc, const Value* argv, bool convert); \
|
34
|
+
template <> export native_class value_to<native_class> (Value value, bool convert); \
|
35
|
+
template <> export native_class value_to<native_class> (int argc, const Value* argv, bool convert); \
|
35
36
|
}
|
36
37
|
|
37
|
-
#define RUCY_DECLARE_CONVERT_TO(native_type) \
|
38
|
-
RUCY_DECLARE_ARRAY_TO(native_type)
|
38
|
+
#define RUCY_DECLARE_CONVERT_TO(export, native_type) \
|
39
|
+
RUCY_DECLARE_ARRAY_TO(export, native_type)
|
39
40
|
|
40
|
-
#define RUCY_DECLARE_VALUE_OR_ARRAY_TO(native_class) \
|
41
|
-
RUCY_DECLARE_VALUE_TO(native_class) \
|
42
|
-
RUCY_DECLARE_ARRAY_TO(native_class)
|
41
|
+
#define RUCY_DECLARE_VALUE_OR_ARRAY_TO(export, native_class) \
|
42
|
+
RUCY_DECLARE_VALUE_TO(export, native_class) \
|
43
|
+
RUCY_DECLARE_ARRAY_TO(export, native_class)
|
43
44
|
|
44
|
-
#define RUCY_DECLARE_WRAPPER_VALUE_FROM(native_class) \
|
45
|
+
#define RUCY_DECLARE_WRAPPER_VALUE_FROM(export, native_class) \
|
45
46
|
namespace Rucy \
|
46
47
|
{ \
|
47
|
-
Value value (native_class* obj); \
|
48
|
-
Value value (native_class* obj, Value klass); \
|
48
|
+
export Value value (native_class* obj); \
|
49
|
+
export Value value (native_class* obj, Value klass); \
|
49
50
|
}
|
50
51
|
|
51
|
-
#define RUCY_DECLARE_WRAPPER_VALUE_TO(native_class) \
|
52
|
+
#define RUCY_DECLARE_WRAPPER_VALUE_TO(export, native_class) \
|
52
53
|
namespace Rucy \
|
53
54
|
{ \
|
54
|
-
template <> native_class* value_to< native_class*> (Value value, bool convert); \
|
55
|
-
template <> const native_class* value_to<const native_class*> (Value value, bool convert); \
|
55
|
+
template <> export native_class* value_to< native_class*> (Value value, bool convert); \
|
56
|
+
template <> export const native_class* value_to<const native_class*> (Value value, bool convert); \
|
56
57
|
}
|
57
58
|
|
58
|
-
#define RUCY_DEFINE_VALUE_FROM(native_class) \
|
59
|
+
#define RUCY_DEFINE_VALUE_FROM(export, native_class) \
|
59
60
|
namespace Rucy \
|
60
61
|
{ \
|
61
|
-
Value \
|
62
|
+
export Value \
|
62
63
|
value (const native_class& obj) \
|
63
64
|
{ \
|
64
65
|
return new_type(get_ruby_class<native_class>(), new native_class(obj)); \
|
65
66
|
} \
|
66
|
-
Value \
|
67
|
+
export Value \
|
67
68
|
value (const native_class* obj) \
|
68
69
|
{ \
|
69
70
|
return obj ? value(*obj) : nil(); \
|
70
71
|
} \
|
71
72
|
}
|
72
73
|
|
73
|
-
#define RUCY_DEFINE_VALUE_TO(native_class) \
|
74
|
+
#define RUCY_DEFINE_VALUE_TO(export, native_class) \
|
74
75
|
namespace Rucy \
|
75
76
|
{ \
|
76
|
-
template <> native_class* \
|
77
|
+
template <> export native_class* \
|
77
78
|
value_to<native_class*> (Value value, bool) \
|
78
79
|
{ \
|
79
80
|
return get_type_ptr<native_class>(value, get_ruby_class<native_class>()); \
|
80
81
|
} \
|
81
|
-
template <> const native_class* \
|
82
|
+
template <> export const native_class* \
|
82
83
|
value_to<const native_class*> (Value value, bool convert) \
|
83
84
|
{ \
|
84
85
|
return (const native_class*) value_to<native_class*>(value, convert); \
|
85
86
|
} \
|
86
|
-
template <> native_class& \
|
87
|
+
template <> export native_class& \
|
87
88
|
value_to<native_class&> (Value value, bool convert) \
|
88
89
|
{ \
|
89
90
|
native_class* obj = value_to<native_class*>(value, convert); \
|
@@ -91,17 +92,17 @@
|
|
91
92
|
rucy_error(__FILE__, __LINE__, "failed to convert from/to %s.", #native_class); \
|
92
93
|
return *obj; \
|
93
94
|
} \
|
94
|
-
template <> const native_class& \
|
95
|
+
template <> export const native_class& \
|
95
96
|
value_to<const native_class&> (Value value, bool convert) \
|
96
97
|
{ \
|
97
98
|
return (const native_class&) value_to<native_class&>(value, convert); \
|
98
99
|
} \
|
99
100
|
}
|
100
101
|
|
101
|
-
#define RUCY_DEFINE_ARRAY_TO(native_class) \
|
102
|
+
#define RUCY_DEFINE_ARRAY_TO(export, native_class) \
|
102
103
|
namespace Rucy \
|
103
104
|
{ \
|
104
|
-
template <> native_class \
|
105
|
+
template <> export native_class \
|
105
106
|
value_to<native_class> (Value value, bool convert) \
|
106
107
|
{ \
|
107
108
|
if (value.is_array()) \
|
@@ -111,22 +112,22 @@
|
|
111
112
|
} \
|
112
113
|
}
|
113
114
|
|
114
|
-
#define RUCY_DEFINE_CONVERT_TO(native_type) \
|
115
|
-
RUCY_DEFINE_ARRAY_TO(native_type)
|
115
|
+
#define RUCY_DEFINE_CONVERT_TO(export, native_type) \
|
116
|
+
RUCY_DEFINE_ARRAY_TO(export, native_type)
|
116
117
|
|
117
|
-
#define RUCY_DEFINE_VALUE_OR_ARRAY_TO(native_class) \
|
118
|
-
RUCY_DEFINE_VALUE_TO(native_class) \
|
119
|
-
RUCY_DEFINE_ARRAY_TO(native_class)
|
118
|
+
#define RUCY_DEFINE_VALUE_OR_ARRAY_TO(export, native_class) \
|
119
|
+
RUCY_DEFINE_VALUE_TO(export, native_class) \
|
120
|
+
RUCY_DEFINE_ARRAY_TO(export, native_class)
|
120
121
|
|
121
|
-
#define RUCY_DEFINE_WRAPPER_VALUE_FROM(native_class) \
|
122
|
+
#define RUCY_DEFINE_WRAPPER_VALUE_FROM(export, native_class) \
|
122
123
|
namespace Rucy \
|
123
124
|
{ \
|
124
|
-
Value \
|
125
|
+
export Value \
|
125
126
|
value (native_class* obj) \
|
126
127
|
{ \
|
127
128
|
return value(obj, get_ruby_class<native_class>()); \
|
128
129
|
} \
|
129
|
-
Value \
|
130
|
+
export Value \
|
130
131
|
value (native_class* obj, Value klass) \
|
131
132
|
{ \
|
132
133
|
if (!obj) return nil(); \
|
@@ -137,56 +138,56 @@
|
|
137
138
|
} \
|
138
139
|
}
|
139
140
|
|
140
|
-
#define RUCY_DEFINE_WRAPPER_VALUE_TO(native_class) \
|
141
|
+
#define RUCY_DEFINE_WRAPPER_VALUE_TO(export, native_class) \
|
141
142
|
namespace Rucy \
|
142
143
|
{ \
|
143
|
-
template <> native_class* \
|
144
|
+
template <> export native_class* \
|
144
145
|
value_to<native_class*> (Value value, bool) \
|
145
146
|
{ \
|
146
147
|
return get_type_ptr<native_class>(value, get_ruby_class<native_class>()); \
|
147
148
|
} \
|
148
|
-
template <> const native_class* \
|
149
|
+
template <> export const native_class* \
|
149
150
|
value_to<const native_class*> (Value value, bool convert) \
|
150
151
|
{ \
|
151
152
|
return (const native_class*) value_to<native_class*>(value, convert); \
|
152
153
|
} \
|
153
154
|
}
|
154
155
|
|
155
|
-
#define RUCY_DECLARE_VALUE_FROM_TO(native_class) \
|
156
|
-
RUCY_DECLARE_VALUE_FROM(native_class) \
|
157
|
-
RUCY_DECLARE_VALUE_TO(native_class)
|
156
|
+
#define RUCY_DECLARE_VALUE_FROM_TO(export, native_class) \
|
157
|
+
RUCY_DECLARE_VALUE_FROM(export, native_class) \
|
158
|
+
RUCY_DECLARE_VALUE_TO(export, native_class)
|
158
159
|
|
159
|
-
#define RUCY_DEFINE_VALUE_FROM_TO(native_class) \
|
160
|
-
RUCY_DEFINE_VALUE_FROM(native_class) \
|
161
|
-
RUCY_DEFINE_VALUE_TO(native_class)
|
160
|
+
#define RUCY_DEFINE_VALUE_FROM_TO(export, native_class) \
|
161
|
+
RUCY_DEFINE_VALUE_FROM(export, native_class) \
|
162
|
+
RUCY_DEFINE_VALUE_TO(export, native_class)
|
162
163
|
|
163
|
-
#define RUCY_VALUE_FROM_TO(native_class) \
|
164
|
-
RUCY_DECLARE_VALUE_FROM_TO(native_class) \
|
165
|
-
RUCY_DEFINE_VALUE_FROM_TO(native_class)
|
164
|
+
#define RUCY_VALUE_FROM_TO(export, native_class) \
|
165
|
+
RUCY_DECLARE_VALUE_FROM_TO(export, native_class) \
|
166
|
+
RUCY_DEFINE_VALUE_FROM_TO(export, native_class)
|
166
167
|
|
167
|
-
#define RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(native_class) \
|
168
|
-
RUCY_DECLARE_VALUE_FROM(native_class) \
|
169
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_TO(native_class)
|
168
|
+
#define RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(export, native_class) \
|
169
|
+
RUCY_DECLARE_VALUE_FROM(export, native_class) \
|
170
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_TO(export, native_class)
|
170
171
|
|
171
|
-
#define RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(native_class) \
|
172
|
-
RUCY_DEFINE_VALUE_FROM(native_class) \
|
173
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_TO(native_class)
|
172
|
+
#define RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(export, native_class) \
|
173
|
+
RUCY_DEFINE_VALUE_FROM(export, native_class) \
|
174
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_TO(export, native_class)
|
174
175
|
|
175
|
-
#define RUCY_VALUE_OR_ARRAY_FROM_TO(native_class) \
|
176
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(native_class) \
|
177
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(native_class)
|
176
|
+
#define RUCY_VALUE_OR_ARRAY_FROM_TO(export, native_class) \
|
177
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(export, native_class) \
|
178
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(export, native_class)
|
178
179
|
|
179
|
-
#define RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(native_class) \
|
180
|
-
RUCY_DECLARE_WRAPPER_VALUE_FROM(native_class) \
|
181
|
-
RUCY_DECLARE_WRAPPER_VALUE_TO(native_class)
|
180
|
+
#define RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(export, native_class) \
|
181
|
+
RUCY_DECLARE_WRAPPER_VALUE_FROM(export, native_class) \
|
182
|
+
RUCY_DECLARE_WRAPPER_VALUE_TO(export, native_class)
|
182
183
|
|
183
|
-
#define RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(native_class) \
|
184
|
-
RUCY_DEFINE_WRAPPER_VALUE_FROM(native_class) \
|
185
|
-
RUCY_DEFINE_WRAPPER_VALUE_TO(native_class)
|
184
|
+
#define RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(export, native_class) \
|
185
|
+
RUCY_DEFINE_WRAPPER_VALUE_FROM(export, native_class) \
|
186
|
+
RUCY_DEFINE_WRAPPER_VALUE_TO(export, native_class)
|
186
187
|
|
187
|
-
#define RUCY_WRAPPER_VALUE_FROM_TO(native_class) \
|
188
|
-
RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(native_class) \
|
189
|
-
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(native_class)
|
188
|
+
#define RUCY_WRAPPER_VALUE_FROM_TO(export, native_class) \
|
189
|
+
RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(export, native_class) \
|
190
|
+
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(export, native_class)
|
190
191
|
|
191
192
|
|
192
193
|
#define RUCY_TRY \
|
data/include/rucy/ruby.h
CHANGED
data/include/rucy.h
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_runtime_dependency 'xot', '~> 0.
|
28
|
+
s.add_runtime_dependency 'xot', '~> 0.3'
|
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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rucy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.3'
|
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.3'
|
27
27
|
description: This library helps you to develop Ruby Extension by C++.
|
28
28
|
email: xordog@gmail.com
|
29
29
|
executables:
|
@@ -69,6 +69,7 @@ files:
|
|
69
69
|
- include/rucy.h
|
70
70
|
- include/rucy/class.h
|
71
71
|
- include/rucy/debug.h
|
72
|
+
- include/rucy/defs.h
|
72
73
|
- include/rucy/exception.h
|
73
74
|
- include/rucy/extension.h.erb
|
74
75
|
- include/rucy/function.h.erb
|