A Ruby implementation of gRPC.
Linux and Mac OS X:
gem install grpc
If using a Gemfile and you wish to pull from a git repository or GitHub, make sure to tell bundler to retrieve submodules:
gem 'grpc', github: 'grpc/grpc', submodules: true
Clone this repository
Init submodules
git submodule update --init
$ 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 installed
Make sure your run source $HOME/.rvm/scripts/rvm
as instructed to complete the set up of RVM
Install bundler
$ gem install bundler
$ # 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
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}")