Skip to content

Instantly share code, notes, and snippets.

@iboB
Created July 11, 2014 13:27
var NimrodModule = rb_define_module "nimrod"
proc makeRubyType(RegisteredType: type): RubyValue =
result = rb_define_class_under(NimrodModule, RegisteredType.name, nil)
for fieldName, fieldType in RegisteredType.fieldPairs:
proc getterImpl(self: RubyValue): RubyValue =
let
nativeSelf = cast[RegisteredType](rb_data_ptr(self)))
fieldValue = readField(fieldName, nativeSelf)
return fieldValue.toRuby
rb_define_method(result, fielName, getterImpl)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment