rice 2.1.3 → 4.0.2

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 +4 -4
  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/include/rice/stl.hpp +1113 -0
  10. data/lib/mkmf-rice.rb +127 -0
  11. data/lib/version.rb +3 -0
  12. data/rice/Address_Registration_Guard.ipp +75 -32
  13. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  14. data/rice/Arg.hpp +80 -4
  15. data/rice/Arg.ipp +51 -0
  16. data/rice/Constructor.hpp +30 -376
  17. data/rice/Data_Object.ipp +234 -107
  18. data/rice/Data_Object_defn.hpp +77 -117
  19. data/rice/Data_Type.hpp +1 -2
  20. data/rice/Data_Type.ipp +251 -295
  21. data/rice/Data_Type_defn.hpp +175 -243
  22. data/rice/Director.hpp +14 -9
  23. data/rice/Enum.hpp +54 -104
  24. data/rice/Enum.ipp +104 -230
  25. data/rice/Exception.hpp +2 -8
  26. data/rice/Exception.ipp +65 -0
  27. data/rice/Exception_defn.hpp +46 -47
  28. data/rice/Identifier.hpp +28 -28
  29. data/rice/Identifier.ipp +23 -27
  30. data/rice/Return.hpp +39 -0
  31. data/rice/Return.ipp +33 -0
  32. data/rice/detail/Exception_Handler.ipp +22 -62
  33. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  34. data/rice/detail/Iterator.hpp +18 -88
  35. data/rice/detail/Iterator.ipp +47 -0
  36. data/rice/detail/Jump_Tag.hpp +21 -0
  37. data/rice/detail/MethodInfo.hpp +44 -0
  38. data/rice/detail/MethodInfo.ipp +78 -0
  39. data/rice/detail/NativeAttribute.hpp +53 -0
  40. data/rice/detail/NativeAttribute.ipp +83 -0
  41. data/rice/detail/NativeFunction.hpp +69 -0
  42. data/rice/detail/NativeFunction.ipp +248 -0
  43. data/rice/detail/RubyFunction.hpp +39 -0
  44. data/rice/detail/RubyFunction.ipp +92 -0
  45. data/rice/detail/Type.hpp +29 -0
  46. data/rice/detail/Type.ipp +138 -0
  47. data/rice/detail/TypeRegistry.hpp +50 -0
  48. data/rice/detail/TypeRegistry.ipp +106 -0
  49. data/rice/detail/Wrapper.hpp +51 -0
  50. data/rice/detail/Wrapper.ipp +151 -0
  51. data/rice/detail/default_allocation_func.hpp +8 -19
  52. data/rice/detail/default_allocation_func.ipp +9 -8
  53. data/rice/detail/from_ruby.hpp +2 -37
  54. data/rice/detail/from_ruby.ipp +1020 -46
  55. data/rice/detail/from_ruby_defn.hpp +38 -0
  56. data/rice/detail/function_traits.hpp +124 -0
  57. data/rice/detail/method_data.hpp +23 -15
  58. data/rice/detail/method_data.ipp +53 -0
  59. data/rice/detail/rice_traits.hpp +116 -0
  60. data/rice/detail/ruby.hpp +9 -50
  61. data/rice/detail/to_ruby.hpp +3 -17
  62. data/rice/detail/to_ruby.ipp +409 -31
  63. data/rice/detail/to_ruby_defn.hpp +48 -0
  64. data/rice/forward_declares.ipp +82 -0
  65. data/rice/global_function.hpp +16 -20
  66. data/rice/global_function.ipp +8 -17
  67. data/rice/rice.hpp +59 -0
  68. data/rice/ruby_mark.hpp +5 -3
  69. data/rice/ruby_try_catch.hpp +4 -4
  70. data/rice/stl.hpp +11 -0
  71. data/sample/callbacks/extconf.rb +6 -0
  72. data/sample/callbacks/sample_callbacks.cpp +35 -0
  73. data/sample/callbacks/test.rb +28 -0
  74. data/sample/enum/extconf.rb +3 -0
  75. data/sample/enum/sample_enum.cpp +3 -17
  76. data/sample/enum/test.rb +2 -2
  77. data/sample/inheritance/animals.cpp +8 -24
  78. data/sample/inheritance/extconf.rb +3 -0
  79. data/sample/inheritance/test.rb +1 -1
  80. data/sample/map/extconf.rb +3 -0
  81. data/sample/map/map.cpp +10 -18
  82. data/sample/map/test.rb +1 -1
  83. data/test/embed_ruby.cpp +34 -0
  84. data/test/embed_ruby.hpp +4 -0
  85. data/test/ext/t1/extconf.rb +3 -0
  86. data/test/ext/t1/t1.cpp +1 -3
  87. data/test/ext/t2/extconf.rb +3 -0
  88. data/test/ext/t2/t2.cpp +1 -1
  89. data/test/extconf.rb +23 -0
  90. data/test/ruby/test_callbacks_sample.rb +28 -0
  91. data/test/ruby/test_multiple_extensions.rb +18 -0
  92. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  93. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  94. data/test/test_Address_Registration_Guard.cpp +25 -11
  95. data/test/test_Array.cpp +131 -74
  96. data/test/test_Attribute.cpp +147 -0
  97. data/test/test_Builtin_Object.cpp +36 -15
  98. data/test/test_Class.cpp +151 -276
  99. data/test/test_Constructor.cpp +10 -9
  100. data/test/test_Data_Object.cpp +135 -193
  101. data/test/test_Data_Type.cpp +323 -252
  102. data/test/test_Director.cpp +56 -42
  103. data/test/test_Enum.cpp +230 -104
  104. data/test/test_Exception.cpp +7 -7
  105. data/test/test_Hash.cpp +33 -31
  106. data/test/test_Identifier.cpp +6 -6
  107. data/test/test_Inheritance.cpp +221 -0
  108. data/test/test_Iterator.cpp +161 -0
  109. data/test/test_Jump_Tag.cpp +1 -1
  110. data/test/test_Keep_Alive.cpp +161 -0
  111. data/test/test_Memory_Management.cpp +4 -5
  112. data/test/test_Module.cpp +169 -111
  113. data/test/test_Object.cpp +51 -19
  114. data/test/test_Ownership.cpp +275 -0
  115. data/test/test_Self.cpp +205 -0
  116. data/test/test_Stl_Optional.cpp +90 -0
  117. data/test/test_Stl_Pair.cpp +144 -0
  118. data/test/test_Stl_SmartPointer.cpp +200 -0
  119. data/test/test_Stl_String.cpp +74 -0
  120. data/test/test_Stl_Vector.cpp +652 -0
  121. data/test/test_String.cpp +3 -3
  122. data/test/test_Struct.cpp +31 -40
  123. data/test/test_Symbol.cpp +3 -3
  124. data/test/test_To_From_Ruby.cpp +283 -218
  125. data/test/test_global_functions.cpp +41 -20
  126. data/test/unittest.cpp +34 -8
  127. data/test/unittest.hpp +0 -4
  128. metadata +121 -136
  129. data/Doxyfile +0 -2268
  130. data/Makefile.am +0 -26
  131. data/Makefile.in +0 -923
  132. data/README.mingw +0 -8
  133. data/aclocal.m4 +0 -1088
  134. data/bootstrap +0 -8
  135. data/check_stdcxx_11.ac +0 -103
  136. data/config.guess +0 -1421
  137. data/config.sub +0 -1807
  138. data/configure +0 -7367
  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 -125
  173. data/rice/Makefile.in +0 -888
  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 -628
  236. data/ruby/lib/Makefile.am +0 -3
  237. data/ruby/lib/Makefile.in +0 -506
  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 -489
  242. data/test/Makefile.am +0 -72
  243. data/test/Makefile.in +0 -1213
  244. data/test/ext/Makefile.am +0 -41
  245. data/test/ext/Makefile.in +0 -483
  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,147 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rice
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 4.0.2
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: 2019-02-28 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
+ - include/rice/stl.hpp
78
+ - lib/mkmf-rice.rb
79
+ - lib/version.rb
52
80
  - rice/Address_Registration_Guard.hpp
53
81
  - rice/Address_Registration_Guard.ipp
54
82
  - rice/Address_Registration_Guard_defn.hpp
55
83
  - 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
84
+ - rice/Arg.ipp
68
85
  - rice/Constructor.hpp
69
86
  - rice/Data_Object.hpp
70
87
  - rice/Data_Object.ipp
71
88
  - rice/Data_Object_defn.hpp
72
- - rice/Data_Type.cpp
73
89
  - rice/Data_Type.hpp
74
90
  - rice/Data_Type.ipp
75
91
  - rice/Data_Type_defn.hpp
76
- - rice/Data_Type_fwd.hpp
77
- - rice/Director.cpp
78
92
  - rice/Director.hpp
79
93
  - rice/Enum.hpp
80
94
  - rice/Enum.ipp
81
- - rice/Exception.cpp
82
95
  - rice/Exception.hpp
83
- - rice/Exception_Base.hpp
84
- - rice/Exception_Base.ipp
85
- - rice/Exception_Base_defn.hpp
96
+ - rice/Exception.ipp
86
97
  - rice/Exception_defn.hpp
87
- - rice/Hash.hpp
88
- - rice/Hash.ipp
89
- - rice/Identifier.cpp
90
98
  - rice/Identifier.hpp
91
99
  - 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
100
+ - rice/Return.hpp
101
+ - rice/Return.ipp
122
102
  - rice/detail/Exception_Handler.hpp
123
103
  - rice/detail/Exception_Handler.ipp
124
104
  - rice/detail/Exception_Handler_defn.hpp
125
105
  - 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
106
+ - rice/detail/Iterator.ipp
107
+ - rice/detail/Jump_Tag.hpp
108
+ - rice/detail/MethodInfo.hpp
109
+ - rice/detail/MethodInfo.ipp
110
+ - rice/detail/NativeAttribute.hpp
111
+ - rice/detail/NativeAttribute.ipp
112
+ - rice/detail/NativeFunction.hpp
113
+ - rice/detail/NativeFunction.ipp
114
+ - rice/detail/RubyFunction.hpp
115
+ - rice/detail/RubyFunction.ipp
116
+ - rice/detail/Type.hpp
117
+ - rice/detail/Type.ipp
118
+ - rice/detail/TypeRegistry.hpp
119
+ - rice/detail/TypeRegistry.ipp
120
+ - rice/detail/Wrapper.hpp
121
+ - rice/detail/Wrapper.ipp
134
122
  - rice/detail/default_allocation_func.hpp
135
123
  - 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
124
  - rice/detail/from_ruby.hpp
142
125
  - rice/detail/from_ruby.ipp
143
- - rice/detail/method_data.cpp
126
+ - rice/detail/from_ruby_defn.hpp
127
+ - rice/detail/function_traits.hpp
144
128
  - 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
129
+ - rice/detail/method_data.ipp
130
+ - rice/detail/rice_traits.hpp
150
131
  - 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
132
  - rice/detail/to_ruby.hpp
155
133
  - 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
134
+ - rice/detail/to_ruby_defn.hpp
135
+ - rice/forward_declares.ipp
160
136
  - rice/global_function.hpp
161
137
  - rice/global_function.ipp
162
- - rice/protect.hpp
163
- - rice/protect.ipp
138
+ - rice/rice.hpp
164
139
  - rice/ruby_mark.hpp
165
140
  - 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
141
+ - rice/stl.hpp
142
+ - sample/callbacks/extconf.rb
143
+ - sample/callbacks/sample_callbacks.cpp
144
+ - sample/callbacks/test.rb
179
145
  - sample/enum/extconf.rb
180
146
  - sample/enum/sample_enum.cpp
181
147
  - sample/enum/test.rb
@@ -185,17 +151,21 @@ files:
185
151
  - sample/map/extconf.rb
186
152
  - sample/map/map.cpp
187
153
  - sample/map/test.rb
188
- - test/Makefile.am
189
- - test/Makefile.in
190
- - test/ext/Makefile.am
191
- - test/ext/Makefile.in
154
+ - test/embed_ruby.cpp
155
+ - test/embed_ruby.hpp
192
156
  - test/ext/t1/Foo.hpp
193
157
  - test/ext/t1/extconf.rb
194
158
  - test/ext/t1/t1.cpp
195
159
  - test/ext/t2/extconf.rb
196
160
  - test/ext/t2/t2.cpp
161
+ - test/extconf.rb
162
+ - test/ruby/test_callbacks_sample.rb
163
+ - test/ruby/test_multiple_extensions.rb
164
+ - test/ruby/test_multiple_extensions_same_class.rb
165
+ - test/ruby/test_multiple_extensions_with_inheritance.rb
197
166
  - test/test_Address_Registration_Guard.cpp
198
167
  - test/test_Array.cpp
168
+ - test/test_Attribute.cpp
199
169
  - test/test_Builtin_Object.cpp
200
170
  - test/test_Class.cpp
201
171
  - test/test_Constructor.cpp
@@ -206,41 +176,56 @@ files:
206
176
  - test/test_Exception.cpp
207
177
  - test/test_Hash.cpp
208
178
  - test/test_Identifier.cpp
179
+ - test/test_Inheritance.cpp
180
+ - test/test_Iterator.cpp
209
181
  - test/test_Jump_Tag.cpp
182
+ - test/test_Keep_Alive.cpp
210
183
  - test/test_Memory_Management.cpp
211
184
  - test/test_Module.cpp
212
185
  - test/test_Object.cpp
186
+ - test/test_Ownership.cpp
187
+ - test/test_Self.cpp
188
+ - test/test_Stl_Optional.cpp
189
+ - test/test_Stl_Pair.cpp
190
+ - test/test_Stl_SmartPointer.cpp
191
+ - test/test_Stl_String.cpp
192
+ - test/test_Stl_Vector.cpp
213
193
  - test/test_String.cpp
214
194
  - test/test_Struct.cpp
215
195
  - test/test_Symbol.cpp
216
196
  - test/test_To_From_Ruby.cpp
217
197
  - test/test_global_functions.cpp
218
- - test/test_rice.rb
219
198
  - test/unittest.cpp
220
199
  - test/unittest.hpp
221
200
  homepage: https://github.com/jasonroelofs/rice
222
201
  licenses:
223
202
  - MIT
224
- metadata: {}
225
- post_install_message:
203
+ metadata:
204
+ bug_tracker_uri: https://github.com/jasonroelofs/rice/issues
205
+ changelog_uri: https://github.com/jasonroelofs/rice/blob/master/CHANGELOG.md
206
+ documentation_uri: https://jasonroelofs.com/rice
207
+ source_code_uri: https://github.com/jasonroelofs/rice
208
+ post_install_message:
226
209
  rdoc_options: []
227
210
  require_paths:
228
- - ruby/lib
211
+ - lib
229
212
  required_ruby_version: !ruby/object:Gem::Requirement
230
213
  requirements:
231
214
  - - ">="
232
215
  - !ruby/object:Gem::Version
233
- version: '0'
216
+ version: '2.6'
234
217
  required_rubygems_version: !ruby/object:Gem::Requirement
235
218
  requirements:
236
219
  - - ">="
237
220
  - !ruby/object:Gem::Version
238
221
  version: '0'
239
222
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.7.6
242
- signing_key:
223
+ rubygems_version: 3.2.3
224
+ signing_key:
243
225
  specification_version: 4
244
226
  summary: Ruby Interface for C++ Extensions
245
227
  test_files:
246
- - test/test_rice.rb
228
+ - test/ruby/test_callbacks_sample.rb
229
+ - test/ruby/test_multiple_extensions.rb
230
+ - test/ruby/test_multiple_extensions_same_class.rb
231
+ - test/ruby/test_multiple_extensions_with_inheritance.rb