grpc-experiments/ruby
Nicolas "Pixel" Noble 04b6a62c52 We can now use the gRPC gem directly from git.
With the release of bundler 1.10, we can now simplify the build steps, and use the git repository directly as a ruby gem, without having to install gRPC at all.
2015-05-29 00:51:06 +02:00
..
lib Adds the generated code for the route_guide example 2015-02-26 02:29:55 -08:00
route_guide added link to new public proto3 doc 2015-04-27 11:50:54 +01:00
.gitignore Adds a helloworld sample in ruby. 2015-02-19 11:20:58 -08:00
Gemfile We can now use the gRPC gem directly from git. 2015-05-29 00:51:06 +02:00
README.md We can now use the gRPC gem directly from git. 2015-05-29 00:51:06 +02:00
greeter_client.rb Adds a helloworld sample in ruby. 2015-02-19 11:20:58 -08:00
greeter_server.rb change proto README cpp node ruby 2015-02-20 10:50:46 -08:00
grpc-demo.gemspec removes an unnecessary restriction 2015-04-30 10:32:08 -07:00

README.md

gRPC in 3 minutes (Ruby)

BACKGROUND

For this sample, we've already generated the server and client stubs from helloworld.proto.

PREREQUISITES

  • Ruby 2.x

This requires Ruby 2.x, as the gRPC API surface uses keyword args. If you don't have that installed locally, you can use RVM to use Ruby 2.x for testing without upgrading the version of Ruby on your whole system. RVM is also useful if you don't have the necessary privileges to update your system's Ruby.

$ # RVM installation as specified at https://rvm.io/rvm/install
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \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
  • N.B Make sure your run source $HOME/.rvm/scripts/rvm as instructed to complete the set-up of RVM.

  • Homebrew/Linuxbrew

The gRPC core will be installed using Linuxbrew for Linux and Homebrew on Macs. Please ensure these are installed before proceeding.

INSTALL

  • Clone this repository
  • Use bundler to install the example package's dependencies
$ # from this directory
$ gem install bundler # if you don't already have bundler available
$ bundle install

Try it!

  • Run the server
$ # from this directory
$ bundle exec ./greeter_server.rb &
  • Run the client
$ # from this directory
$ bundle exec ./greeter_client.rb

Tutorial

You can find a more detailed tutorial in gRPC Basics: Ruby