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.

69 lines
2.1 KiB

10 years ago
gRPC in 3 minutes (Ruby)
========================
10 years ago
BACKGROUND
-------------
For this sample, we've already generated the server and client stubs from [helloworld.proto](https://github.com/grpc/grpc-common/blob/master/protos/helloworld.proto).
10 years ago
PREREQUISITES
-------------
10 years ago
- Ruby 2.x
This requires Ruby 2.x, as the gRPC API surface uses keyword args.
If you don't have that installed locally, you can use [RVM](https://www.rvm.io/) to use Ruby 2.x for testing without upgrading the version of Ruby on your whole system.
RVM is also useful if you don't have the necessary privileges to update your system's Ruby.
10 years ago
```sh
$ # RVM installation as specified at https://rvm.io/rvm/install
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
10 years ago
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=ruby-2
10 years ago
$
$ # follow the instructions to ensure that your're using the latest stable version of Ruby
$ # and that the rvm command is installed
```
- *N.B* Make sure your run `source $HOME/.rvm/scripts/rvm` as instructed to complete the set-up of RVM.
10 years ago
10 years ago
- Homebrew/Linuxbrew
The gRPC core will be installed using [Linuxbrew][Linuxbrew] for Linux and [Homebrew][Homebrew] on Macs.
Please ensure these are installed before proceeding.
INSTALL
-------
10 years ago
- Clone this repository
- Install gRPC Ruby using the brew-based installer
```sh
10 years ago
$ curl -fsSL https://raw.githubusercontent.com/tbetbetbe/homebrew-grpc/master/scripts/install | bash -s ruby
```
- Use bundler to install the example package's dependencies
```sh
$ # from this directory
$ gem install bundler # if you don't already have bundler available
$ bundle install
```
10 years ago
Try it!
-------
- Run the server
```sh
$ # from this directory
$ bundle exec ./greeter_server.rb &
```
- Run the client
```sh
$ # from this directory
$ bundle exec ./greeter_client.rb
```
Tutorial
--------
You can find a more detailed tutorial in [gRPC Basics: Ruby](https://github.com/grpc/grpc-common/blob/master/ruby/route_guide/README.md)
10 years ago
[Homebrew]: https://github.com/Homebrew/homebrew
[Linuxbrew]: https://github.com/Homebrew/linuxbrew