|
|
11 лет назад | |
|---|---|---|
| .. | ||
| bin | 11 лет назад | |
| ext | 11 лет назад | |
| lib | 11 лет назад | |
| spec | 11 лет назад | |
| .gitignore | 11 лет назад | |
| .rspec | 11 лет назад | |
| .rubocop.yml | 11 лет назад | |
| .rubocop_todo.yml | 11 лет назад | |
| Gemfile | 11 лет назад | |
| README.md | 11 лет назад | |
| Rakefile | 11 лет назад | |
| grpc.gemspec | 11 лет назад | |
A Ruby implementation of gRPC, Google's RPC library.
This requires Ruby 2.x, as the rpc api surface uses keyword args.
$ gem install grpc
Build or Install the gRPC 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 grpc ruby locally. $ cd $ bundle install $ rake # compiles the extension, runs the unit tests, see rake -T for other options
Directory structure is the layout for ruby extensions
bin: example gRPC clients and servers, e.g,
# client
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, INFINITE_FUTURE)
logger.info("Answer: #{resp.inspect}")