Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
bin/ | 03-May-2024 | - | 610 | 403 | ||
end2end/ | 03-May-2024 | - | 1,513 | 866 | ||
ext/grpc/ | 03-May-2024 | - | 6,334 | 4,529 | ||
lib/ | 03-May-2024 | - | 3,022 | 1,575 | ||
pb/ | 03-May-2024 | - | 1,603 | 1,114 | ||
qps/ | 03-May-2024 | - | 1,353 | 1,000 | ||
spec/ | 03-May-2024 | - | 6,754 | 5,324 | ||
stress/ | 03-May-2024 | - | 210 | 157 | ||
tools/ | 03-May-2024 | - | 157 | 70 | ||
.gitignore | D | 03-May-2024 | 125 | 16 | 15 | |
.rubocop.yml | D | 03-May-2024 | 381 | 22 | 15 | |
.rubocop_todo.yml | D | 03-May-2024 | 15.6 KiB | 570 | 293 | |
CHANGELOG.md | D | 03-May-2024 | 348 | 12 | 8 | |
README.md | D | 03-May-2024 | 2.1 KiB | 79 | 62 |
README.md
1[![Gem](https://img.shields.io/gem/v/grpc.svg)](https://rubygems.org/gems/grpc/) 2gRPC Ruby 3========= 4 5A Ruby implementation of gRPC. 6 7PREREQUISITES 8------------- 9 10- Ruby 2.x. The gRPC API uses keyword args. 11 12INSTALLATION 13--------------- 14 15**Linux and Mac OS X:** 16 17```sh 18gem install grpc 19``` 20 21BUILD FROM SOURCE 22--------------------- 23- Clone this repository 24 25- Init submodules 26 27```sh 28git submodule update --init 29``` 30 31- Install Ruby 2.x. Consider doing this with [RVM](http://rvm.io), it's a nice way of controlling 32 the exact ruby version that's used. 33```sh 34$ command curl -sSL https://rvm.io/mpapis.asc | gpg --import - 35$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=ruby-2 36$ 37$ # follow the instructions to ensure that your're using the latest stable version of Ruby 38$ # and that the rvm command is installed 39``` 40- Make sure your run `source $HOME/.rvm/scripts/rvm` as instructed to complete the set up of RVM 41 42- Install [bundler](http://bundler.io/) 43``` 44$ gem install bundler 45``` 46 47- Finally, build and install the gRPC gem locally. 48```sh 49$ # from this directory 50$ bundle install # creates the ruby bundle, including building the grpc extension 51$ rake # runs the unit tests, see rake -T for other options 52``` 53 54DOCUMENTATION 55------------- 56- rubydoc for the gRPC gem is available online at [rubydoc][]. 57- the gRPC Ruby reference documentation is available online at [grpc.io][] 58 59CONTENTS 60-------- 61Directory structure is the layout for [ruby extensions][] 62- ext: the gRPC ruby extension 63- lib: the entrypoint gRPC ruby library to be used in a 'require' statement 64- spec: Rspec unittests 65- bin: example gRPC clients and servers, e.g, 66 67 ```ruby 68 stub = Math::Math::Stub.new('my.test.math.server.com:8080', :this_channel_is_insecure) 69 req = Math::DivArgs.new(dividend: 7, divisor: 3) 70 GRPC.logger.info("div(7/3): req=#{req.inspect}") 71 resp = stub.div(req) 72 GRPC.logger.info("Answer: #{resp.inspect}") 73 ``` 74 75[ruby extensions]:http://guides.rubygems.org/gems-with-extensions/ 76[rubydoc]: http://www.rubydoc.info/gems/grpc 77[grpc.io]: https://grpc.io/docs/quickstart/ruby.html 78[Debian jessie-backports]:http://backports.debian.org/Instructions/ 79