Skip to content

Files

Latest commit

4865c79 · Apr 27, 2017

History

History
This branch is 31244 commits behind grpc/grpc:master.

ruby

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 27, 2016
Apr 17, 2017
Apr 27, 2017
Apr 13, 2017
Jan 10, 2017
Mar 10, 2017
Apr 11, 2017
Jul 27, 2016
Apr 13, 2017
Dec 2, 2014
Mar 20, 2017
Jun 19, 2015
Apr 14, 2015
Oct 20, 2016

Gem gRPC Ruby

A Ruby implementation of gRPC.

PREREQUISITES

  • Ruby 2.x. The gRPC API uses keyword args.

INSTALLATION

Linux and Mac OS X:

gem install grpc

BUILD FROM SOURCE

  • 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
  • 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

DOCUMENTATION

  • rubydoc for the gRPC gem is available online at rubydoc.
  • the gRPC Ruby reference documentation is available online at grpc.io

CONTENTS

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}")