Mugur Marculescu 04e3a6e332 Merge pull request #619 from jayantkolhe/jayantkolhe-patch-2 il y a 11 ans
..
bin 50b91d0018 Removes unnecesary check from the interop teste il y a 11 ans
ext 26e2e8f0b5 Merge pull request #540 from ctiller/copyright il y a 11 ans
lib 26e2e8f0b5 Merge pull request #540 from ctiller/copyright il y a 11 ans
spec 26e2e8f0b5 Merge pull request #540 from ctiller/copyright il y a 11 ans
.gitignore 097ef9b7d9 Incorporating ruby into the master grpc repository. il y a 11 ans
.rspec 097ef9b7d9 Incorporating ruby into the master grpc repository. il y a 11 ans
.rubocop.yml e2860c5bdb Adds rubocop and fixes most style violations it detected il y a 11 ans
.rubocop_todo.yml e2860c5bdb Adds rubocop and fixes most style violations it detected il y a 11 ans
Gemfile 0f0a6bc4f0 Switches to using protobuf-ruby. il y a 11 ans
README.md 04e3a6e332 Merge pull request #619 from jayantkolhe/jayantkolhe-patch-2 il y a 11 ans
Rakefile 36066537cf Fix lint errors, other cleanups il y a 11 ans
grpc.gemspec c33efe4ad5 Fixes the grpc.gemspec, clarifies the installation instructions il y a 11 ans

README.md

gRPC Ruby

A Ruby implementation of gRPC.

Status

Alpha : Ready for early adopters

INSTALLATION PREREQUISITES

This requires Ruby 2.x, as the RPC API surface uses keyword args.

QUICK - INSTALL

  • Clone this repository.
  • Follow the instructions in INSTALL to install the gRPC C core.
  • Use bundler to install

    $ # from this directory
    $ gem install bundler && bundle install
    

Installing from source

  • Build the gRPC C core E.g, from the root of the gRPC git repo

    $ cd ../..
    $ make && sudo make install
    
  • 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
    $
    $ # follow the instructions to ensure that your're using the latest stable version of Ruby
    $ # and that the rvm command is installed
    
  • Install bundler

    $ gem install bundler
    
  • Finally, install the gRPC gem locally.

    $ cd <install_dir>
    $ bundle install
    $ rake  # compiles the extension, runs the unit tests, see rake -T for other options
    

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 unittest
  • bin: example gRPC clients and servers, e.g,

    stub = Math::Math::Stub.new('my.test.math.server.com:8080')
    req = Math::DivArgs.new(dividend: 7, divisor: 3)
    logger.info("div(7/3): req=#{req.inspect}")
    resp = stub.div(req)
    logger.info("Answer: #{resp.inspect}")