gRPC Ruby
A Ruby implementation of gRPC.
Linux and Mac OS X:
gem install grpc
Clone this repository
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 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}")