Up to higher level directory | |||
Name | Date | Size | |
---|---|---|---|
.rubocop.yml | 22-Oct-2020 | 381 | |
.rubocop_todo.yml | 22-Oct-2020 | 15.6K | |
bin/ | 22-Oct-2020 | ||
CHANGELOG.md | 22-Oct-2020 | 348 | |
end2end/ | 22-Oct-2020 | ||
ext/ | 22-Oct-2020 | ||
lib/ | 22-Oct-2020 | ||
pb/ | 22-Oct-2020 | ||
qps/ | 22-Oct-2020 | ||
README.md | 22-Oct-2020 | 2.1K | |
spec/ | 22-Oct-2020 | ||
stress/ | 22-Oct-2020 | ||
tools/ | 22-Oct-2020 |
1 [![Gem](https://img.shields.io/gem/v/grpc.svg)](https://rubygems.org/gems/grpc/) 2 gRPC Ruby 3 ========= 4 5 A Ruby implementation of gRPC. 6 7 PREREQUISITES 8 ------------- 9 10 - Ruby 2.x. The gRPC API uses keyword args. 11 12 INSTALLATION 13 --------------- 14 15 **Linux and Mac OS X:** 16 17 ```sh 18 gem install grpc 19 ``` 20 21 BUILD FROM SOURCE 22 --------------------- 23 - Clone this repository 24 25 - Init submodules 26 27 ```sh 28 git 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 54 DOCUMENTATION 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 59 CONTENTS 60 -------- 61 Directory 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