@@ -29,6 +29,7 @@ VALUE rb_dummy_tests_rb_ary_push(VALUE self, VALUE ary, VALUE elem);
2929VALUE rb_dummy_tests_rb_ary_pop(VALUE self, VALUE ary);
3030VALUE rb_dummy_tests_rb_ary_shift(VALUE self, VALUE ary);
3131VALUE rb_dummy_tests_rb_ary_unshift(VALUE self, VALUE ary, VALUE elem);
32+ void rb_dummy_tests_rb_define_variable(VALUE self, VALUE name, VALUE v);
3233*/
3334import "C"
3435
@@ -255,6 +256,12 @@ func rb_dummy_tests_rb_ary_unshift(_ C.VALUE, ary C.VALUE, elem C.VALUE) C.VALUE
255256 return C .VALUE (ret )
256257}
257258
259+ //export rb_dummy_tests_rb_define_variable
260+ func rb_dummy_tests_rb_define_variable (_ C.VALUE , name C.VALUE , v C.VALUE ) {
261+ strName := ruby .Value2String (ruby .VALUE (name ))
262+ ruby .RbDefineVariable (strName , (* ruby .VALUE )(& v ))
263+ }
264+
258265// defineMethodsToDummyTests define methods in Dummy::Tests
259266func defineMethodsToDummyTests (rb_mDummy ruby.VALUE ) {
260267 rb_cTests := ruby .RbDefineClassUnder (rb_mDummy , "Tests" , ruby .VALUE (C .rb_cObject ))
@@ -287,4 +294,5 @@ func defineMethodsToDummyTests(rb_mDummy ruby.VALUE) {
287294 ruby .RbDefineSingletonMethod (rb_cTests , "rb_ary_pop" , C .rb_dummy_tests_rb_ary_pop , 1 )
288295 ruby .RbDefineSingletonMethod (rb_cTests , "rb_ary_shift" , C .rb_dummy_tests_rb_ary_shift , 1 )
289296 ruby .RbDefineSingletonMethod (rb_cTests , "rb_ary_unshift" , C .rb_dummy_tests_rb_ary_unshift , 2 )
297+ ruby .RbDefineSingletonMethod (rb_cTests , "rb_define_variable" , C .rb_dummy_tests_rb_define_variable , 2 )
290298}
0 commit comments