Twirp is a protocol for routing and serialization of services defined in a .proto file, allowing easy implementation of RPC services with auto-generated clients in different languages.
The canonical implementation is in Golang. The Twirp-Ruby project is the official implementation in Ruby for both server and clients.
Add gem "twirp"
to your Gemfile, or install with gem install twirp
.
To auto-generate Ruby code from a proto file, use the protoc
plugin and the --ruby_out
option (see Wiki page).
When upgrading from version 1.9.0 to 1.10.0, note that there is a breaking change in the Twirp::ClientResp#initialize
method. The method now accepts keyword arguments. For more details, refer to this comparison and this issue.
See the releases page for latest information about released versions.