PATH:
opt
/
alt
/
ruby34
/
share
/
gems
/
gems
/
rbs-3.8.0
/
templates
/
src
#include "rbs_extension.h" #ifdef RB_PASS_KEYWORDS // Ruby 2.7 or later #define CLASS_NEW_INSTANCE(klass, argc, argv)\ rb_class_new_instance_kw(argc, argv, klass, RB_PASS_KEYWORDS) #else // Ruby 2.6 #define CLASS_NEW_INSTANCE(receiver, argc, argv)\ rb_class_new_instance(argc, argv, receiver) #endif <%- nodes.each do |node| -%> VALUE <%= node.c_function_name %>(<%= node.fields.map { |field| "#{field.c_type} #{field.name}" }.join(", ") %>) { VALUE _init_kwargs = rb_hash_new(); <%- node.fields.each do |field| -%> rb_hash_aset(_init_kwargs, ID2SYM(rb_intern("<%= field.name %>")), <%= field.name %>); <%- end -%> return CLASS_NEW_INSTANCE( <%= node.c_constant_name %>, 1, &_init_kwargs ); } <%- end -%>
[-] ruby_objs.c.erb
[edit]
[-] constants.c.erb
[edit]
[+]
..