capnp-ruby icon indicating copy to clipboard operation
capnp-ruby copied to clipboard

Still working on this? (Also: contact info)

Open tarcieri opened this issue 10 years ago • 15 comments

I'd love to have a mature Cap'n Proto binding for Ruby! Particularly one that works across CRuby and JRuby.

I was just talking to @kentonv about it, and this approach (MRI cext) seems reasonable for CRuby. I think the JRuby version should bind to capnproto-java, which is unfortunately much less mature than the C++ version and, AFAIK, doesn't support the RPC protocol.

Getting serialization working across both CRuby and JRuby would be a good start.

Have you thought about making a project mailing list?

tarcieri avatar Sep 02 '14 00:09 tarcieri

:+1:

sogamoso avatar Sep 02 '14 02:09 sogamoso

@tarcieri agree totally on this!! :+1:

guilleiguaran avatar Sep 02 '14 05:09 guilleiguaran

@tarcieri What about using FFI and not creating "Another damn c extension?" to quote @headius.

Spaceghost avatar Sep 11 '14 18:09 Spaceghost

@Spaceghost the C++ implementation does not expose a C ABI, much less an "FFIable" one (i.e. it doesn't rely on the preprocessor)

I am a huge fan of FFI and used it extensively in RbNaCl however someone would need to create an FFIable C ABI to the C++ implementation first.

tarcieri avatar Sep 11 '14 18:09 tarcieri

:+1:

findchris avatar Apr 22 '15 02:04 findchris

There's a Ruby GSoC project underway to build a C wrapper around capnproto's C++ implementation and then re-wrap that in FFI. We'll see how it goes.

tarcieri avatar Apr 22 '15 03:04 tarcieri

Thanks for the update @tarcieri. Sounds promising.

findchris avatar Apr 22 '15 04:04 findchris

@tarcieri, would you happen to know how the Ruby GSoC project went? Also progress on making an implementation that works for JRuby?

peakxu avatar May 06 '16 20:05 peakxu

@peakxu last year's project didn't go so well, but there's another GSoC effort this year

tarcieri avatar May 06 '16 21:05 tarcieri

@tarcieri any chance you know how 2016 GSoC effort went?

ermanc avatar Jul 12 '17 17:07 ermanc

It went well, I think! It should now support RPC:

https://github.com/nemoNoboru/capnp-ruby

Perhaps it should be moved to https://github.com/capnproto

cc @kentonv @nemoNoboru

tarcieri avatar Jul 14 '17 02:07 tarcieri

@tarcieri Is it being used in prod? Is anyone actively maintaining it?

kentonv avatar Jul 14 '17 16:07 kentonv

(Not meant to be challenges, I'm just honestly curious.)

kentonv avatar Jul 14 '17 16:07 kentonv

@kentonv not to my knowledge. I'm not sure people are actually aware of it.

All that said, I think it's the most complete implementation of capnp in Ruby to date.

tarcieri avatar Jul 14 '17 17:07 tarcieri

I used it on production during a time but we stopped using capnp entirely because the libs for other languages that we were using were less mature (IIRC go and node)

guilleiguaran avatar Jul 14 '17 21:07 guilleiguaran