Yang Gao 6b27c3c187 Merge pull request #102 from tbetbetbe/ruby-docs-fix-clarify-helloworld-instructions 10 lat temu
..
lib 56dff9f757 Adds the generated code for the route_guide example 10 lat temu
route_guide 94e38f6b03 Corrects spelling, fixes grammar and re-word some sections 10 lat temu
.gitignore 49f3ccdd01 Adds a helloworld sample in ruby. 11 lat temu
Gemfile ccf41aad86 Update Gemfile 10 lat temu
README.md 6b27c3c187 Merge pull request #102 from tbetbetbe/ruby-docs-fix-clarify-helloworld-instructions 10 lat temu
greeter_client.rb 49f3ccdd01 Adds a helloworld sample in ruby. 11 lat temu
greeter_server.rb 600d70cd8d change proto README cpp node ruby 10 lat temu
grpc-demo.gemspec 91b73f7dcf Updates the gemspec to treat the route_guide client and server as binaries 10 lat temu

README.md

gRPC in 3 minutes (Ruby)

BACKGROUND

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

PREREQUISITES

This requires Ruby 2.1, as the gRPC API surface uses keyword args. If you don't have that installed locally, you can use RVM to use Ruby 2.1 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.1
$
$ # 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.

INSTALL

  • Clone this repository.
  • Follow the instructions in INSTALL to install the gRPC C core.
  • Temporary
    • Install the full gRPC distribution from source on your local machine
    • Build gRPC Ruby as described in installing from source
    • update path: in Gemfile to refer to src/ruby within the gRPC directory
    • N.B: these steps are necessary until the gRPC ruby gem is published
  • Use bundler to install

    $ # from this directory
    $ gem install bundler && 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