The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Yuchen Zeng b1f6bf2ec4 Merge pull request #8086 from y-zeng/fix_gprc 8 years ago
..
bin Updated ruby protos to use new _pb filename 8 years ago
ext/grpc Merge pull request #8086 from y-zeng/fix_gprc 8 years ago
lib revert change to shutdown ordering, but keep timer 8 years ago
pb Merge remote-tracking branch 'google/v1.0.x' into master-upmerge-from-deep-under 8 years ago
qps increase max thread pool size in benchmarks and fix shutdown ordering 8 years ago
spec Merge remote-tracking branch 'upstream/v1.0.x' into v1.0.1_upmerge 8 years ago
stress Updated ruby protos to use new _pb filename 8 years ago
tools Going 1.0.1. 8 years ago
.gitignore Incorporating ruby into the master grpc repository. 10 years ago
.rubocop.yml Updated ruby protos to use new _pb filename 8 years ago
.rubocop_todo.yml Corrects the cancel_after_first_response behaviour 10 years ago
CHANGELOG.md Corrects the Changelog date 10 years ago
README.md Merge pull request #7838 from teodor-pripoae/fix-example-in-ruby-readme 8 years ago

README.md

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