A Ruby implementation of gRPC.
- Ruby 2.x. The gRPC API uses keyword args.
Linux and Mac OS X:
gem install grpcClone this repository
Init submodules
git submodule update --init- Install Ruby 2.x. Consider doing this with RVM, it's a nice way of controlling the exact ruby version that's used.
$ command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=ruby-2
$
$ # follow the instructions to ensure that your're using the latest stable version of Ruby
$ # and that the rvm command is installedMake sure your run
source $HOME/.rvm/scripts/rvmas instructed to complete the set up of RVMInstall bundler
$ gem install bundler
- Finally, build and install the gRPC gem locally.
$ # from this directory
$ bundle install # creates the ruby bundle, including building the grpc extension
$ rake # runs the unit tests, see rake -T for other options- rubydoc for the gRPC gem is available online at rubydoc.
- the gRPC Ruby reference documentation is available online at grpc.io
Directory structure is the layout for ruby extensions
ext: the gRPC ruby extension
lib: the entrypoint gRPC ruby library to be used in a 'require' statement
spec: Rspec unittests
bin: example gRPC clients and servers, e.g,
stub=Math::Math::Stub.new('my.test.math.server.com:8080',:this_channel_is_insecure)req=Math::DivArgs.new(dividend: 7,divisor: 3)GRPC.logger.info("div(7/3): req=#{req.inspect}")resp=stub.div(req)GRPC.logger.info("Answer: #{resp.inspect}")