| 
					
				 | 
			
			
				@@ -14,9 +14,10 @@ INSTALLING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ---------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - Install the gRPC core library 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-TODO: describe this, once the core distribution mechanism is defined. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  TODO: describe this, once the core distribution mechanism is defined. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ gem install grpc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Installing from source 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -24,37 +25,47 @@ Installing from source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - Build or Install the gRPC core 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 E.g, from the root of the grpc [git repo](https://github.com/google/grpc) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ cd ../.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ make && sudo make install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - Install Ruby 2.x. Consider doing this with [RVM](http://rvm.io), 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](http://bundler.io/) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ gem install bundler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - Finally, install grpc ruby 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](http://guides.rubygems.org/gems-with-extensions/) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * ext: the extension code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * lib: the entrypoint grpc ruby library to be used in a 'require' statement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * spec: tests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * bin: example gRPC clients and servers, e.g, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 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, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ```ruby 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 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}") 
			 |