rice 2.1.2 → 4.0.1

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 (245) 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 +45 -1028
  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 -276
  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 +120 -136
  128. data/Doxyfile +0 -2268
  129. data/Makefile.am +0 -26
  130. data/Makefile.in +0 -920
  131. data/README.mingw +0 -8
  132. data/aclocal.m4 +0 -1088
  133. data/bootstrap +0 -8
  134. data/check_stdcxx_11.ac +0 -142
  135. data/config.guess +0 -1421
  136. data/config.sub +0 -1807
  137. data/configure +0 -7481
  138. data/configure.ac +0 -55
  139. data/depcomp +0 -791
  140. data/doxygen.ac +0 -314
  141. data/doxygen.am +0 -186
  142. data/extconf.rb +0 -69
  143. data/install-sh +0 -501
  144. data/missing +0 -215
  145. data/post-autoconf.rb +0 -22
  146. data/post-automake.rb +0 -28
  147. data/rice/Address_Registration_Guard.cpp +0 -22
  148. data/rice/Arg_impl.hpp +0 -129
  149. data/rice/Arg_operators.cpp +0 -21
  150. data/rice/Arg_operators.hpp +0 -19
  151. data/rice/Array.hpp +0 -214
  152. data/rice/Array.ipp +0 -256
  153. data/rice/Builtin_Object.hpp +0 -8
  154. data/rice/Builtin_Object.ipp +0 -50
  155. data/rice/Builtin_Object_defn.hpp +0 -50
  156. data/rice/Class.cpp +0 -57
  157. data/rice/Class.hpp +0 -8
  158. data/rice/Class.ipp +0 -6
  159. data/rice/Class_defn.hpp +0 -83
  160. data/rice/Data_Type.cpp +0 -54
  161. data/rice/Data_Type_fwd.hpp +0 -12
  162. data/rice/Director.cpp +0 -13
  163. data/rice/Exception.cpp +0 -59
  164. data/rice/Exception_Base.hpp +0 -8
  165. data/rice/Exception_Base.ipp +0 -13
  166. data/rice/Exception_Base_defn.hpp +0 -27
  167. data/rice/Hash.hpp +0 -227
  168. data/rice/Hash.ipp +0 -329
  169. data/rice/Identifier.cpp +0 -8
  170. data/rice/Jump_Tag.hpp +0 -24
  171. data/rice/Makefile.am +0 -124
  172. data/rice/Makefile.in +0 -839
  173. data/rice/Module.cpp +0 -84
  174. data/rice/Module.hpp +0 -8
  175. data/rice/Module.ipp +0 -6
  176. data/rice/Module_defn.hpp +0 -88
  177. data/rice/Module_impl.hpp +0 -281
  178. data/rice/Module_impl.ipp +0 -345
  179. data/rice/Object.cpp +0 -169
  180. data/rice/Object.hpp +0 -8
  181. data/rice/Object.ipp +0 -19
  182. data/rice/Object_defn.hpp +0 -191
  183. data/rice/Require_Guard.hpp +0 -21
  184. data/rice/String.cpp +0 -94
  185. data/rice/String.hpp +0 -91
  186. data/rice/Struct.cpp +0 -117
  187. data/rice/Struct.hpp +0 -162
  188. data/rice/Struct.ipp +0 -26
  189. data/rice/Symbol.cpp +0 -25
  190. data/rice/Symbol.hpp +0 -66
  191. data/rice/Symbol.ipp +0 -44
  192. data/rice/config.hpp +0 -47
  193. data/rice/config.hpp.in +0 -46
  194. data/rice/detail/Arguments.hpp +0 -118
  195. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  196. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3694
  197. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  198. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2774
  199. data/rice/detail/Caster.hpp +0 -103
  200. data/rice/detail/Not_Copyable.hpp +0 -25
  201. data/rice/detail/Wrapped_Function.hpp +0 -33
  202. data/rice/detail/cfp.hpp +0 -24
  203. data/rice/detail/cfp.ipp +0 -51
  204. data/rice/detail/check_ruby_type.cpp +0 -27
  205. data/rice/detail/check_ruby_type.hpp +0 -23
  206. data/rice/detail/creation_funcs.hpp +0 -37
  207. data/rice/detail/creation_funcs.ipp +0 -36
  208. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  209. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  210. data/rice/detail/demangle.cpp +0 -56
  211. data/rice/detail/demangle.hpp +0 -19
  212. data/rice/detail/env.hpp +0 -11
  213. data/rice/detail/method_data.cpp +0 -86
  214. data/rice/detail/node.hpp +0 -13
  215. data/rice/detail/object_call.hpp +0 -69
  216. data/rice/detail/object_call.ipp +0 -131
  217. data/rice/detail/protect.cpp +0 -29
  218. data/rice/detail/protect.hpp +0 -34
  219. data/rice/detail/ruby_version_code.hpp +0 -6
  220. data/rice/detail/ruby_version_code.hpp.in +0 -6
  221. data/rice/detail/st.hpp +0 -22
  222. data/rice/detail/traits.hpp +0 -43
  223. data/rice/detail/win32.hpp +0 -16
  224. data/rice/detail/wrap_function.hpp +0 -341
  225. data/rice/detail/wrap_function.ipp +0 -514
  226. data/rice/protect.hpp +0 -92
  227. data/rice/protect.ipp +0 -1134
  228. data/rice/rubypp.rb +0 -97
  229. data/rice/to_from_ruby.hpp +0 -8
  230. data/rice/to_from_ruby.ipp +0 -294
  231. data/rice/to_from_ruby_defn.hpp +0 -70
  232. data/ruby.ac +0 -135
  233. data/ruby/Makefile.am +0 -1
  234. data/ruby/Makefile.in +0 -625
  235. data/ruby/lib/Makefile.am +0 -3
  236. data/ruby/lib/Makefile.in +0 -503
  237. data/ruby/lib/mkmf-rice.rb.in +0 -217
  238. data/ruby/lib/version.rb +0 -3
  239. data/sample/Makefile.am +0 -47
  240. data/sample/Makefile.in +0 -486
  241. data/test/Makefile.am +0 -72
  242. data/test/Makefile.in +0 -1150
  243. data/test/ext/Makefile.am +0 -41
  244. data/test/ext/Makefile.in +0 -480
  245. 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.2
4
+ version: 4.0.1
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-11-20 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
68
  - README.md
28
69
  files:
70
+ - CHANGELOG.md
71
+ - CONTRIBUTORS.md
29
72
  - COPYING
30
- - Doxyfile
31
- - Makefile.am
32
- - Makefile.in
73
+ - Gemfile
33
74
  - README.md
34
- - README.mingw
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,56 @@ 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
- metadata: {}
225
- post_install_message:
202
+ metadata:
203
+ bug_tracker_uri: https://github.com/jasonroelofs/rice/issues
204
+ changelog_uri: https://github.com/jasonroelofs/rice/blob/master/CHANGELOG.md
205
+ documentation_uri: https://jasonroelofs.com/rice
206
+ source_code_uri: https://github.com/jasonroelofs/rice
207
+ post_install_message:
226
208
  rdoc_options: []
227
209
  require_paths:
228
- - ruby/lib
210
+ - lib
229
211
  required_ruby_version: !ruby/object:Gem::Requirement
230
212
  requirements:
231
213
  - - ">="
232
214
  - !ruby/object:Gem::Version
233
- version: '0'
215
+ version: '2.5'
234
216
  required_rubygems_version: !ruby/object:Gem::Requirement
235
217
  requirements:
236
218
  - - ">="
237
219
  - !ruby/object:Gem::Version
238
220
  version: '0'
239
221
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.6.13
242
- signing_key:
222
+ rubygems_version: 3.2.3
223
+ signing_key:
243
224
  specification_version: 4
244
225
  summary: Ruby Interface for C++ Extensions
245
226
  test_files:
246
- - test/test_rice.rb
227
+ - test/ruby/test_callbacks_sample.rb
228
+ - test/ruby/test_multiple_extensions.rb
229
+ - test/ruby/test_multiple_extensions_same_class.rb
230
+ - test/ruby/test_multiple_extensions_with_inheritance.rb