rice 2.1.1 → 4.0.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.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +121 -0
  3. data/CONTRIBUTORS.md +19 -0
  4. data/COPYING +2 -2
  5. data/Gemfile +3 -0
  6. data/README.md +69 -0
  7. data/Rakefile +95 -12
  8. data/include/rice/rice.hpp +7766 -0
  9. data/lib/mkmf-rice.rb +127 -0
  10. data/lib/version.rb +3 -0
  11. data/rice/Address_Registration_Guard.ipp +75 -32
  12. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  13. data/rice/Arg.hpp +80 -4
  14. data/rice/Arg.ipp +51 -0
  15. data/rice/Constructor.hpp +30 -376
  16. data/rice/Data_Object.ipp +234 -107
  17. data/rice/Data_Object_defn.hpp +77 -117
  18. data/rice/Data_Type.hpp +1 -2
  19. data/rice/Data_Type.ipp +251 -295
  20. data/rice/Data_Type_defn.hpp +175 -243
  21. data/rice/Director.hpp +14 -9
  22. data/rice/Enum.hpp +54 -104
  23. data/rice/Enum.ipp +104 -230
  24. data/rice/Exception.hpp +2 -8
  25. data/rice/Exception.ipp +65 -0
  26. data/rice/Exception_defn.hpp +46 -47
  27. data/rice/Identifier.hpp +28 -28
  28. data/rice/Identifier.ipp +23 -27
  29. data/rice/Return.hpp +39 -0
  30. data/rice/Return.ipp +33 -0
  31. data/rice/detail/Exception_Handler.ipp +22 -62
  32. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  33. data/rice/detail/Iterator.hpp +18 -88
  34. data/rice/detail/Iterator.ipp +47 -0
  35. data/rice/detail/Jump_Tag.hpp +21 -0
  36. data/rice/detail/MethodInfo.hpp +44 -0
  37. data/rice/detail/MethodInfo.ipp +78 -0
  38. data/rice/detail/NativeAttribute.hpp +53 -0
  39. data/rice/detail/NativeAttribute.ipp +83 -0
  40. data/rice/detail/NativeFunction.hpp +69 -0
  41. data/rice/detail/NativeFunction.ipp +248 -0
  42. data/rice/detail/RubyFunction.hpp +39 -0
  43. data/rice/detail/RubyFunction.ipp +92 -0
  44. data/rice/detail/Type.hpp +29 -0
  45. data/rice/detail/Type.ipp +138 -0
  46. data/rice/detail/TypeRegistry.hpp +50 -0
  47. data/rice/detail/TypeRegistry.ipp +106 -0
  48. data/rice/detail/Wrapper.hpp +51 -0
  49. data/rice/detail/Wrapper.ipp +151 -0
  50. data/rice/detail/default_allocation_func.hpp +8 -19
  51. data/rice/detail/default_allocation_func.ipp +9 -8
  52. data/rice/detail/from_ruby.hpp +2 -37
  53. data/rice/detail/from_ruby.ipp +1020 -46
  54. data/rice/detail/from_ruby_defn.hpp +38 -0
  55. data/rice/detail/function_traits.hpp +124 -0
  56. data/rice/detail/method_data.hpp +23 -15
  57. data/rice/detail/method_data.ipp +53 -0
  58. data/rice/detail/rice_traits.hpp +116 -0
  59. data/rice/detail/ruby.hpp +9 -49
  60. data/rice/detail/to_ruby.hpp +3 -17
  61. data/rice/detail/to_ruby.ipp +409 -31
  62. data/rice/detail/to_ruby_defn.hpp +48 -0
  63. data/rice/forward_declares.ipp +82 -0
  64. data/rice/global_function.hpp +16 -20
  65. data/rice/global_function.ipp +8 -17
  66. data/rice/rice.hpp +59 -0
  67. data/rice/ruby_mark.hpp +5 -3
  68. data/rice/ruby_try_catch.hpp +4 -4
  69. data/rice/stl.hpp +11 -0
  70. data/sample/callbacks/extconf.rb +6 -0
  71. data/sample/callbacks/sample_callbacks.cpp +35 -0
  72. data/sample/callbacks/test.rb +28 -0
  73. data/sample/enum/extconf.rb +3 -0
  74. data/sample/enum/sample_enum.cpp +3 -17
  75. data/sample/enum/test.rb +2 -2
  76. data/sample/inheritance/animals.cpp +8 -24
  77. data/sample/inheritance/extconf.rb +3 -0
  78. data/sample/inheritance/test.rb +1 -1
  79. data/sample/map/extconf.rb +3 -0
  80. data/sample/map/map.cpp +10 -18
  81. data/sample/map/test.rb +1 -1
  82. data/test/embed_ruby.cpp +34 -0
  83. data/test/embed_ruby.hpp +4 -0
  84. data/test/ext/t1/extconf.rb +3 -0
  85. data/test/ext/t1/t1.cpp +1 -3
  86. data/test/ext/t2/extconf.rb +3 -0
  87. data/test/ext/t2/t2.cpp +1 -1
  88. data/test/extconf.rb +23 -0
  89. data/test/ruby/test_callbacks_sample.rb +28 -0
  90. data/test/ruby/test_multiple_extensions.rb +18 -0
  91. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  92. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  93. data/test/test_Address_Registration_Guard.cpp +25 -11
  94. data/test/test_Array.cpp +131 -74
  95. data/test/test_Attribute.cpp +147 -0
  96. data/test/test_Builtin_Object.cpp +36 -15
  97. data/test/test_Class.cpp +151 -274
  98. data/test/test_Constructor.cpp +10 -9
  99. data/test/test_Data_Object.cpp +135 -193
  100. data/test/test_Data_Type.cpp +323 -252
  101. data/test/test_Director.cpp +56 -42
  102. data/test/test_Enum.cpp +230 -104
  103. data/test/test_Exception.cpp +7 -7
  104. data/test/test_Hash.cpp +33 -31
  105. data/test/test_Identifier.cpp +6 -6
  106. data/test/test_Inheritance.cpp +221 -0
  107. data/test/test_Iterator.cpp +161 -0
  108. data/test/test_Jump_Tag.cpp +1 -1
  109. data/test/test_Keep_Alive.cpp +161 -0
  110. data/test/test_Memory_Management.cpp +4 -5
  111. data/test/test_Module.cpp +169 -111
  112. data/test/test_Object.cpp +51 -19
  113. data/test/test_Ownership.cpp +275 -0
  114. data/test/test_Self.cpp +205 -0
  115. data/test/test_Stl_Optional.cpp +90 -0
  116. data/test/test_Stl_Pair.cpp +144 -0
  117. data/test/test_Stl_SmartPointer.cpp +200 -0
  118. data/test/test_Stl_String.cpp +74 -0
  119. data/test/test_Stl_Vector.cpp +652 -0
  120. data/test/test_String.cpp +3 -3
  121. data/test/test_Struct.cpp +31 -40
  122. data/test/test_Symbol.cpp +3 -3
  123. data/test/test_To_From_Ruby.cpp +283 -218
  124. data/test/test_global_functions.cpp +41 -20
  125. data/test/unittest.cpp +34 -8
  126. data/test/unittest.hpp +0 -4
  127. metadata +117 -137
  128. data/Doxyfile +0 -2280
  129. data/Makefile.am +0 -26
  130. data/Makefile.in +0 -920
  131. data/README +0 -1055
  132. data/README.mingw +0 -8
  133. data/aclocal.m4 +0 -1088
  134. data/bootstrap +0 -8
  135. data/check_stdcxx_11.ac +0 -142
  136. data/config.guess +0 -1421
  137. data/config.sub +0 -1807
  138. data/configure +0 -7481
  139. data/configure.ac +0 -55
  140. data/depcomp +0 -791
  141. data/doxygen.ac +0 -314
  142. data/doxygen.am +0 -186
  143. data/extconf.rb +0 -69
  144. data/install-sh +0 -501
  145. data/missing +0 -215
  146. data/post-autoconf.rb +0 -22
  147. data/post-automake.rb +0 -28
  148. data/rice/Address_Registration_Guard.cpp +0 -22
  149. data/rice/Arg_impl.hpp +0 -129
  150. data/rice/Arg_operators.cpp +0 -21
  151. data/rice/Arg_operators.hpp +0 -19
  152. data/rice/Array.hpp +0 -214
  153. data/rice/Array.ipp +0 -256
  154. data/rice/Builtin_Object.hpp +0 -8
  155. data/rice/Builtin_Object.ipp +0 -50
  156. data/rice/Builtin_Object_defn.hpp +0 -50
  157. data/rice/Class.cpp +0 -57
  158. data/rice/Class.hpp +0 -8
  159. data/rice/Class.ipp +0 -6
  160. data/rice/Class_defn.hpp +0 -83
  161. data/rice/Data_Type.cpp +0 -54
  162. data/rice/Data_Type_fwd.hpp +0 -12
  163. data/rice/Director.cpp +0 -13
  164. data/rice/Exception.cpp +0 -59
  165. data/rice/Exception_Base.hpp +0 -8
  166. data/rice/Exception_Base.ipp +0 -13
  167. data/rice/Exception_Base_defn.hpp +0 -27
  168. data/rice/Hash.hpp +0 -227
  169. data/rice/Hash.ipp +0 -329
  170. data/rice/Identifier.cpp +0 -8
  171. data/rice/Jump_Tag.hpp +0 -24
  172. data/rice/Makefile.am +0 -124
  173. data/rice/Makefile.in +0 -839
  174. data/rice/Module.cpp +0 -84
  175. data/rice/Module.hpp +0 -8
  176. data/rice/Module.ipp +0 -6
  177. data/rice/Module_defn.hpp +0 -88
  178. data/rice/Module_impl.hpp +0 -281
  179. data/rice/Module_impl.ipp +0 -345
  180. data/rice/Object.cpp +0 -169
  181. data/rice/Object.hpp +0 -8
  182. data/rice/Object.ipp +0 -19
  183. data/rice/Object_defn.hpp +0 -191
  184. data/rice/Require_Guard.hpp +0 -21
  185. data/rice/String.cpp +0 -94
  186. data/rice/String.hpp +0 -91
  187. data/rice/Struct.cpp +0 -117
  188. data/rice/Struct.hpp +0 -162
  189. data/rice/Struct.ipp +0 -26
  190. data/rice/Symbol.cpp +0 -25
  191. data/rice/Symbol.hpp +0 -66
  192. data/rice/Symbol.ipp +0 -44
  193. data/rice/config.hpp +0 -47
  194. data/rice/config.hpp.in +0 -46
  195. data/rice/detail/Arguments.hpp +0 -118
  196. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  197. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3694
  198. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  199. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2774
  200. data/rice/detail/Caster.hpp +0 -103
  201. data/rice/detail/Not_Copyable.hpp +0 -25
  202. data/rice/detail/Wrapped_Function.hpp +0 -33
  203. data/rice/detail/cfp.hpp +0 -24
  204. data/rice/detail/cfp.ipp +0 -51
  205. data/rice/detail/check_ruby_type.cpp +0 -27
  206. data/rice/detail/check_ruby_type.hpp +0 -23
  207. data/rice/detail/creation_funcs.hpp +0 -37
  208. data/rice/detail/creation_funcs.ipp +0 -36
  209. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  210. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  211. data/rice/detail/demangle.cpp +0 -56
  212. data/rice/detail/demangle.hpp +0 -19
  213. data/rice/detail/env.hpp +0 -11
  214. data/rice/detail/method_data.cpp +0 -86
  215. data/rice/detail/node.hpp +0 -13
  216. data/rice/detail/object_call.hpp +0 -69
  217. data/rice/detail/object_call.ipp +0 -131
  218. data/rice/detail/protect.cpp +0 -29
  219. data/rice/detail/protect.hpp +0 -34
  220. data/rice/detail/ruby_version_code.hpp +0 -6
  221. data/rice/detail/ruby_version_code.hpp.in +0 -6
  222. data/rice/detail/st.hpp +0 -22
  223. data/rice/detail/traits.hpp +0 -43
  224. data/rice/detail/win32.hpp +0 -16
  225. data/rice/detail/wrap_function.hpp +0 -341
  226. data/rice/detail/wrap_function.ipp +0 -514
  227. data/rice/protect.hpp +0 -92
  228. data/rice/protect.ipp +0 -1134
  229. data/rice/rubypp.rb +0 -97
  230. data/rice/to_from_ruby.hpp +0 -8
  231. data/rice/to_from_ruby.ipp +0 -294
  232. data/rice/to_from_ruby_defn.hpp +0 -70
  233. data/ruby.ac +0 -135
  234. data/ruby/Makefile.am +0 -1
  235. data/ruby/Makefile.in +0 -625
  236. data/ruby/lib/Makefile.am +0 -3
  237. data/ruby/lib/Makefile.in +0 -503
  238. data/ruby/lib/mkmf-rice.rb.in +0 -217
  239. data/ruby/lib/version.rb +0 -3
  240. data/sample/Makefile.am +0 -47
  241. data/sample/Makefile.in +0 -486
  242. data/test/Makefile.am +0 -72
  243. data/test/Makefile.in +0 -1150
  244. data/test/ext/Makefile.am +0 -41
  245. data/test/ext/Makefile.in +0 -480
  246. data/test/test_rice.rb +0 -41
@@ -1,5 +1,6 @@
1
1
  #include "unittest.hpp"
2
- #include "rice/global_function.hpp"
2
+ #include "embed_ruby.hpp"
3
+ #include <rice/rice.hpp>
3
4
 
4
5
  using namespace Rice;
5
6
 
@@ -7,40 +8,60 @@ TESTSUITE(GlobalFunction);
7
8
 
8
9
  SETUP(GlobalFunction)
9
10
  {
10
- ruby_init();
11
+ embed_ruby();
11
12
  }
12
13
 
13
14
  namespace {
14
15
 
15
- bool method_to_wrap_called = false;
16
- void method_to_wrap(Object self) {
17
- method_to_wrap_called = true;
16
+ bool no_args()
17
+ {
18
+ return true;
18
19
  }
19
20
 
20
- int method_with_args_arg0;
21
-
22
- void method_with_args(Object self, int arg) {
23
- method_with_args_arg0 = arg;
21
+ int int_arg(int arg)
22
+ {
23
+ return 2 * arg;
24
24
  }
25
-
26
25
  }
27
26
 
28
- TESTCASE(exposes_global_functions)
27
+ TESTCASE(no_args)
29
28
  {
30
- define_global_function("method_to_wrap", &method_to_wrap);
29
+ define_global_function("no_args", &no_args);
31
30
  Module m = Module(rb_mKernel);
32
- m.call("method_to_wrap");
31
+ Object result = m.call("no_args");
32
+ ASSERT_EQUAL(Qtrue, result.value());
33
+ }
34
+
35
+ TESTCASE(no_args_lambda)
36
+ {
37
+ define_global_function("no_args", []()
38
+ {
39
+ return no_args();
40
+ });
33
41
 
34
- ASSERT(method_to_wrap_called);
42
+ Module m = Module(rb_mKernel);
43
+ Object result = m.call("no_args");
44
+ ASSERT_EQUAL(Qtrue, result.value());
35
45
  }
36
46
 
37
- TESTCASE(exposes_global_functions_with_arguments)
47
+ TESTCASE(int_arg)
38
48
  {
39
- define_global_function("method_with_args", &method_with_args);
49
+ define_global_function("method_with_args", &int_arg);
40
50
  Module m = Module(rb_mKernel);
41
- m.call("method_with_args", 10);
51
+ Object result = m.call("method_with_args", 10);
52
+ ASSERT_EQUAL(20, detail::From_Ruby<int>().convert(result));
53
+ }
42
54
 
43
- ASSERT_EQUAL(10, method_with_args_arg0);
55
+ TESTCASE(int_arg_lambda)
56
+ {
57
+ define_global_function("method_with_args", [](int value)
58
+ {
59
+ return int_arg(value);
60
+ });
61
+
62
+ Module m = Module(rb_mKernel);
63
+ Object result = m.call("method_with_args", 10);
64
+ ASSERT_EQUAL(20, detail::From_Ruby<int>().convert(result));
44
65
  }
45
66
 
46
67
  namespace
@@ -64,7 +85,7 @@ namespace
64
85
 
65
86
  TESTCASE(default_arguments_for_define_global_function)
66
87
  {
67
- define_global_function("foo", &defaults_method_one, (Arg("arg1"), Arg("arg2") = (int)3, Arg("arg3") = (bool)true));
88
+ define_global_function("foo", &defaults_method_one, Arg("arg1"), Arg("arg2") = (int)3, Arg("arg3") = (bool)true);
68
89
  Module m(rb_mKernel);
69
90
 
70
91
  m.call("foo", 2);
@@ -88,7 +109,7 @@ TESTCASE(default_arguments_for_define_global_function)
88
109
 
89
110
  TESTCASE(default_arguments_for_define_global_function_and_returning)
90
111
  {
91
- define_global_function("foo_ret", &defaults_returns, (Arg("arg1"), Arg("arg2") = (int)3));
112
+ define_global_function("foo_ret", &defaults_returns, Arg("arg1"), Arg("arg2") = (int)3);
92
113
  Module m(rb_mKernel);
93
114
 
94
115
  Object o = m.call("foo_ret", 2);
data/test/unittest.cpp CHANGED
@@ -1,3 +1,4 @@
1
+ #include <algorithm>
1
2
  #include <iostream>
2
3
  #include <map>
3
4
  #include "unittest.hpp"
@@ -85,18 +86,43 @@ run(Test_Result & result)
85
86
  }
86
87
  }
87
88
 
88
- int main()
89
+ char* findOption(char** begin, char** end, const std::string& option)
89
90
  {
91
+ char** itr = std::find(begin, end, option);
92
+ if (itr != end && ++itr != end)
93
+ {
94
+ return *itr;
95
+ }
96
+ return nullptr;
97
+ }
98
+
99
+ int main(int argc, char** argv)
100
+ {
101
+ std::vector<Test_Suite> suites;
102
+
103
+ char* moduleName = findOption(argv, argv + argc, "--suite");
104
+ if (moduleName)
105
+ {
106
+ Test_Suite suite = test_suites()[moduleName];
107
+ suites.push_back(suite);
108
+ }
109
+ else
110
+ {
111
+ std::transform(test_suites().begin(), test_suites().end(),
112
+ std::back_inserter(suites),
113
+ [](auto& pair)
114
+ {
115
+ return pair.second;
116
+ });
117
+ }
118
+
90
119
  Test_Result result;
91
120
  size_t num_tests = 0;
92
-
93
- for(Test_Suites::iterator it = test_suites().begin(),
94
- end = test_suites().end();
95
- it != end;
96
- ++it)
121
+
122
+ for (Test_Suite& suite : suites)
97
123
  {
98
- it->second.run(result);
99
- num_tests += it->second.size();
124
+ suite.run(result);
125
+ num_tests += suite.size();
100
126
  }
101
127
 
102
128
  std::cout << std::endl;
data/test/unittest.hpp CHANGED
@@ -15,10 +15,6 @@
15
15
  #include <sstream>
16
16
  #include <iostream>
17
17
 
18
- #if !defined(_MSC_VER)
19
- using namespace std;
20
- #endif
21
-
22
18
  class Failure
23
19
  {
24
20
  public:
metadata CHANGED
@@ -1,181 +1,146 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rice
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Brannan
8
8
  - Jason Roelofs
9
- autorequire:
9
+ - Charlie Savage
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2017-01-07 00:00:00.000000000 Z
13
- dependencies: []
13
+ date: 2021-05-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bundler
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rake
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: minitest
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
14
57
  description: |
15
- Rice is a C++ interface to Ruby's C API. It provides a type-safe and
58
+ Rice is a C++ interface to Ruby's C API. It provides a type-safe and
16
59
  exception-safe interface in order to make embedding Ruby and writing
17
- Ruby extensions with C++ easier. It is similar to Boost.Python in many
18
- ways, but also attempts to provide an object-oriented interface to all
19
- of the Ruby C API.
60
+ Ruby extensions with C++ easier.
20
61
  email:
21
62
  - curlypaul924@gmail.com
22
63
  - jasonroelofs@gmail.com
64
+ - cfis@savagexi.com
23
65
  executables: []
24
- extensions:
25
- - extconf.rb
66
+ extensions: []
26
67
  extra_rdoc_files:
27
- - README
68
+ - README.md
28
69
  files:
70
+ - CHANGELOG.md
71
+ - CONTRIBUTORS.md
29
72
  - COPYING
30
- - Doxyfile
31
- - Makefile.am
32
- - Makefile.in
33
- - README
34
- - README.mingw
73
+ - Gemfile
74
+ - README.md
35
75
  - Rakefile
36
- - aclocal.m4
37
- - bootstrap
38
- - check_stdcxx_11.ac
39
- - config.guess
40
- - config.sub
41
- - configure
42
- - configure.ac
43
- - depcomp
44
- - doxygen.ac
45
- - doxygen.am
46
- - extconf.rb
47
- - install-sh
48
- - missing
49
- - post-autoconf.rb
50
- - post-automake.rb
51
- - rice/Address_Registration_Guard.cpp
76
+ - include/rice/rice.hpp
77
+ - lib/mkmf-rice.rb
78
+ - lib/version.rb
52
79
  - rice/Address_Registration_Guard.hpp
53
80
  - rice/Address_Registration_Guard.ipp
54
81
  - rice/Address_Registration_Guard_defn.hpp
55
82
  - rice/Arg.hpp
56
- - rice/Arg_impl.hpp
57
- - rice/Arg_operators.cpp
58
- - rice/Arg_operators.hpp
59
- - rice/Array.hpp
60
- - rice/Array.ipp
61
- - rice/Builtin_Object.hpp
62
- - rice/Builtin_Object.ipp
63
- - rice/Builtin_Object_defn.hpp
64
- - rice/Class.cpp
65
- - rice/Class.hpp
66
- - rice/Class.ipp
67
- - rice/Class_defn.hpp
83
+ - rice/Arg.ipp
68
84
  - rice/Constructor.hpp
69
85
  - rice/Data_Object.hpp
70
86
  - rice/Data_Object.ipp
71
87
  - rice/Data_Object_defn.hpp
72
- - rice/Data_Type.cpp
73
88
  - rice/Data_Type.hpp
74
89
  - rice/Data_Type.ipp
75
90
  - rice/Data_Type_defn.hpp
76
- - rice/Data_Type_fwd.hpp
77
- - rice/Director.cpp
78
91
  - rice/Director.hpp
79
92
  - rice/Enum.hpp
80
93
  - rice/Enum.ipp
81
- - rice/Exception.cpp
82
94
  - rice/Exception.hpp
83
- - rice/Exception_Base.hpp
84
- - rice/Exception_Base.ipp
85
- - rice/Exception_Base_defn.hpp
95
+ - rice/Exception.ipp
86
96
  - rice/Exception_defn.hpp
87
- - rice/Hash.hpp
88
- - rice/Hash.ipp
89
- - rice/Identifier.cpp
90
97
  - rice/Identifier.hpp
91
98
  - rice/Identifier.ipp
92
- - rice/Jump_Tag.hpp
93
- - rice/Makefile.am
94
- - rice/Makefile.in
95
- - rice/Module.cpp
96
- - rice/Module.hpp
97
- - rice/Module.ipp
98
- - rice/Module_defn.hpp
99
- - rice/Module_impl.hpp
100
- - rice/Module_impl.ipp
101
- - rice/Object.cpp
102
- - rice/Object.hpp
103
- - rice/Object.ipp
104
- - rice/Object_defn.hpp
105
- - rice/Require_Guard.hpp
106
- - rice/String.cpp
107
- - rice/String.hpp
108
- - rice/Struct.cpp
109
- - rice/Struct.hpp
110
- - rice/Struct.ipp
111
- - rice/Symbol.cpp
112
- - rice/Symbol.hpp
113
- - rice/Symbol.ipp
114
- - rice/config.hpp
115
- - rice/config.hpp.in
116
- - rice/detail/Arguments.hpp
117
- - rice/detail/Auto_Function_Wrapper.hpp
118
- - rice/detail/Auto_Function_Wrapper.ipp
119
- - rice/detail/Auto_Member_Function_Wrapper.hpp
120
- - rice/detail/Auto_Member_Function_Wrapper.ipp
121
- - rice/detail/Caster.hpp
99
+ - rice/Return.hpp
100
+ - rice/Return.ipp
122
101
  - rice/detail/Exception_Handler.hpp
123
102
  - rice/detail/Exception_Handler.ipp
124
103
  - rice/detail/Exception_Handler_defn.hpp
125
104
  - rice/detail/Iterator.hpp
126
- - rice/detail/Not_Copyable.hpp
127
- - rice/detail/Wrapped_Function.hpp
128
- - rice/detail/cfp.hpp
129
- - rice/detail/cfp.ipp
130
- - rice/detail/check_ruby_type.cpp
131
- - rice/detail/check_ruby_type.hpp
132
- - rice/detail/creation_funcs.hpp
133
- - rice/detail/creation_funcs.ipp
105
+ - rice/detail/Iterator.ipp
106
+ - rice/detail/Jump_Tag.hpp
107
+ - rice/detail/MethodInfo.hpp
108
+ - rice/detail/MethodInfo.ipp
109
+ - rice/detail/NativeAttribute.hpp
110
+ - rice/detail/NativeAttribute.ipp
111
+ - rice/detail/NativeFunction.hpp
112
+ - rice/detail/NativeFunction.ipp
113
+ - rice/detail/RubyFunction.hpp
114
+ - rice/detail/RubyFunction.ipp
115
+ - rice/detail/Type.hpp
116
+ - rice/detail/Type.ipp
117
+ - rice/detail/TypeRegistry.hpp
118
+ - rice/detail/TypeRegistry.ipp
119
+ - rice/detail/Wrapper.hpp
120
+ - rice/detail/Wrapper.ipp
134
121
  - rice/detail/default_allocation_func.hpp
135
122
  - rice/detail/default_allocation_func.ipp
136
- - rice/detail/define_method_and_auto_wrap.hpp
137
- - rice/detail/define_method_and_auto_wrap.ipp
138
- - rice/detail/demangle.cpp
139
- - rice/detail/demangle.hpp
140
- - rice/detail/env.hpp
141
123
  - rice/detail/from_ruby.hpp
142
124
  - rice/detail/from_ruby.ipp
143
- - rice/detail/method_data.cpp
125
+ - rice/detail/from_ruby_defn.hpp
126
+ - rice/detail/function_traits.hpp
144
127
  - rice/detail/method_data.hpp
145
- - rice/detail/node.hpp
146
- - rice/detail/object_call.hpp
147
- - rice/detail/object_call.ipp
148
- - rice/detail/protect.cpp
149
- - rice/detail/protect.hpp
128
+ - rice/detail/method_data.ipp
129
+ - rice/detail/rice_traits.hpp
150
130
  - rice/detail/ruby.hpp
151
- - rice/detail/ruby_version_code.hpp
152
- - rice/detail/ruby_version_code.hpp.in
153
- - rice/detail/st.hpp
154
131
  - rice/detail/to_ruby.hpp
155
132
  - rice/detail/to_ruby.ipp
156
- - rice/detail/traits.hpp
157
- - rice/detail/win32.hpp
158
- - rice/detail/wrap_function.hpp
159
- - rice/detail/wrap_function.ipp
133
+ - rice/detail/to_ruby_defn.hpp
134
+ - rice/forward_declares.ipp
160
135
  - rice/global_function.hpp
161
136
  - rice/global_function.ipp
162
- - rice/protect.hpp
163
- - rice/protect.ipp
137
+ - rice/rice.hpp
164
138
  - rice/ruby_mark.hpp
165
139
  - rice/ruby_try_catch.hpp
166
- - rice/rubypp.rb
167
- - rice/to_from_ruby.hpp
168
- - rice/to_from_ruby.ipp
169
- - rice/to_from_ruby_defn.hpp
170
- - ruby.ac
171
- - ruby/Makefile.am
172
- - ruby/Makefile.in
173
- - ruby/lib/Makefile.am
174
- - ruby/lib/Makefile.in
175
- - ruby/lib/mkmf-rice.rb.in
176
- - ruby/lib/version.rb
177
- - sample/Makefile.am
178
- - sample/Makefile.in
140
+ - rice/stl.hpp
141
+ - sample/callbacks/extconf.rb
142
+ - sample/callbacks/sample_callbacks.cpp
143
+ - sample/callbacks/test.rb
179
144
  - sample/enum/extconf.rb
180
145
  - sample/enum/sample_enum.cpp
181
146
  - sample/enum/test.rb
@@ -185,17 +150,21 @@ files:
185
150
  - sample/map/extconf.rb
186
151
  - sample/map/map.cpp
187
152
  - sample/map/test.rb
188
- - test/Makefile.am
189
- - test/Makefile.in
190
- - test/ext/Makefile.am
191
- - test/ext/Makefile.in
153
+ - test/embed_ruby.cpp
154
+ - test/embed_ruby.hpp
192
155
  - test/ext/t1/Foo.hpp
193
156
  - test/ext/t1/extconf.rb
194
157
  - test/ext/t1/t1.cpp
195
158
  - test/ext/t2/extconf.rb
196
159
  - test/ext/t2/t2.cpp
160
+ - test/extconf.rb
161
+ - test/ruby/test_callbacks_sample.rb
162
+ - test/ruby/test_multiple_extensions.rb
163
+ - test/ruby/test_multiple_extensions_same_class.rb
164
+ - test/ruby/test_multiple_extensions_with_inheritance.rb
197
165
  - test/test_Address_Registration_Guard.cpp
198
166
  - test/test_Array.cpp
167
+ - test/test_Attribute.cpp
199
168
  - test/test_Builtin_Object.cpp
200
169
  - test/test_Class.cpp
201
170
  - test/test_Constructor.cpp
@@ -206,41 +175,52 @@ files:
206
175
  - test/test_Exception.cpp
207
176
  - test/test_Hash.cpp
208
177
  - test/test_Identifier.cpp
178
+ - test/test_Inheritance.cpp
179
+ - test/test_Iterator.cpp
209
180
  - test/test_Jump_Tag.cpp
181
+ - test/test_Keep_Alive.cpp
210
182
  - test/test_Memory_Management.cpp
211
183
  - test/test_Module.cpp
212
184
  - test/test_Object.cpp
185
+ - test/test_Ownership.cpp
186
+ - test/test_Self.cpp
187
+ - test/test_Stl_Optional.cpp
188
+ - test/test_Stl_Pair.cpp
189
+ - test/test_Stl_SmartPointer.cpp
190
+ - test/test_Stl_String.cpp
191
+ - test/test_Stl_Vector.cpp
213
192
  - test/test_String.cpp
214
193
  - test/test_Struct.cpp
215
194
  - test/test_Symbol.cpp
216
195
  - test/test_To_From_Ruby.cpp
217
196
  - test/test_global_functions.cpp
218
- - test/test_rice.rb
219
197
  - test/unittest.cpp
220
198
  - test/unittest.hpp
221
199
  homepage: https://github.com/jasonroelofs/rice
222
200
  licenses:
223
201
  - MIT
224
202
  metadata: {}
225
- post_install_message:
203
+ post_install_message:
226
204
  rdoc_options: []
227
205
  require_paths:
228
- - ruby/lib
206
+ - lib
229
207
  required_ruby_version: !ruby/object:Gem::Requirement
230
208
  requirements:
231
209
  - - ">="
232
210
  - !ruby/object:Gem::Version
233
- version: '0'
211
+ version: '2.5'
234
212
  required_rubygems_version: !ruby/object:Gem::Requirement
235
213
  requirements:
236
214
  - - ">="
237
215
  - !ruby/object:Gem::Version
238
216
  version: '0'
239
217
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.6.7
242
- signing_key:
218
+ rubygems_version: 3.2.3
219
+ signing_key:
243
220
  specification_version: 4
244
221
  summary: Ruby Interface for C++ Extensions
245
222
  test_files:
246
- - test/test_rice.rb
223
+ - test/ruby/test_callbacks_sample.rb
224
+ - test/ruby/test_multiple_extensions.rb
225
+ - test/ruby/test_multiple_extensions_same_class.rb
226
+ - test/ruby/test_multiple_extensions_with_inheritance.rb