Skip to content

Ruby wrapper#658

Merged
kernelwernel merged 15 commits intokernelwernel:mainfrom
addam128:main
Apr 15, 2026
Merged

Ruby wrapper#658
kernelwernel merged 15 commits intokernelwernel:mainfrom
addam128:main

Conversation

@addam128
Copy link
Copy Markdown
Contributor

What does this PR do?

  • [-] Add a new technique
  • [-] Add a new feature
  • [-] Add a new README translation
  • [-] Improve code
  • [-] Fix bugs
  • [-] Refactoring or code organisation
  • [-] Stylistic changes
  • [-] Sync between branches
  • Other

Briefly explain what this PR does:

This PR provides a wrapper to the basic functionality of VMAware for Ruby, as a native gem. Due to heavy reliance on MSVC, windows is not supported by the gem (as ruby is ucrt-based).

@kernelwernel kernelwernel self-assigned this Mar 25, 2026
@kernelwernel
Copy link
Copy Markdown
Owner

Hi! and holy shit that's a massive PR. Even my browser has trouble loading the changes 💀

I'll need to review the whole thing carefully, so it might take some time. I don't know how to code in ruby and neither have I ever looked at ruby code that much if I'm honest, but I'll see what I can do,

Genuinely thank you though, this must've taken you ages to complete. My schedule is pretty tight but I'll definitely come back to this PR whenever needed.

@addam128
Copy link
Copy Markdown
Contributor Author

Hi, well the one big file is the official header-only project that interfaces c++ with the C API of ruby, it is not mine, but taken from https://github.com/ruby-rice/rice. I can try to work around including the header (which is one of the ways how to use that project) and get them as cmake dependencies instead if that is more reasonable to you.

@kernelwernel
Copy link
Copy Markdown
Owner

kernelwernel commented Mar 27, 2026

Hi, well the one big file is the official header-only project that interfaces c++ with the C API of ruby, it is not mine, but taken from https://github.com/ruby-rice/rice. I can try to work around including the header (which is one of the ways how to use that project) and get them as cmake dependencies instead if that is more reasonable to you.

Yep! that would be much more ideal. I don't think it's a good idea to keep a whole external header-only library in its raw form in the project.

Additionally, is it possible if you can add a ci/cd test to the ruby code? If you don't know how or don't want to, that's completely fine. I don't know much about ruby but I can definitely make one if it's ok.

@addam128
Copy link
Copy Markdown
Contributor Author

Owkay, I will look into it. Will be tailoring the ruby interface a little more as well. Will take some time though, as I am incorporating your project into some tooling.

@NotRequiem NotRequiem added the enhancement New feature or request label Mar 28, 2026
@kernelwernel
Copy link
Copy Markdown
Owner

Hi!

Thanks for your hard work. I modified a few things as fixes and to align with best practices in the cmake and ci/cd side of things.

Can I ask if this is a one time contribution or if you're interested to maintain the gem port in the future? I really like your work, and I think you'll fit into the team quite well :)

@kernelwernel kernelwernel merged commit 14f6bb3 into kernelwernel:main Apr 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants