README.md in redis-stream-0.2.0 vs README.md in redis-stream-0.3.0

- old
+ new

@@ -1,10 +1,11 @@ # Redis::Stream -### !!!Use jRuby for now. It has a weird bug in cruby Sugar coating Redis Streams +TODO: add documentation + ## Installation Add this line to your application's Gemfile: ```ruby @@ -19,13 +20,26 @@ $ gem install redis-stream ## Usage +Load the stream library +```ruby +require 'redis/stream' +``` +Available objects +### Redis::Stream::Client +### Redis::Stream::Config +### Redis::Stream::Inspect +### Redis::Stream::Type +### Redis::Stream::DataCache + + + #### A simple non-blocking example ```ruby -require 'redis-stream' +require 'redis/stream' s1 = Redis::Stream::Client.new("test", "LIST", 't1') s2 = Redis::Stream::Client.new("test", "MANIFEST", 't2') s2.on_message do |message| m = message['payload'] @@ -46,40 +60,54 @@ puts "checkin if still active #{s1.running?}, #{s2.running?}" end end ``` -#### Micro services example +#### Microservices example 1. Sinatra as a point of entry -2. microservice for processing +``` http://127.0.0.1:4567?reverse=word``` +2. Microservice for processing # http.rb ```ruby require 'sinatra' -require 'redis-stream' +require 'redis/stream' -configure do - set :redis_stream, Redis::Stream::Client.new("greetings", "HTTP", "http_client", "sync_start" => true) - -get '/:name' do - halt 500, 'name parameter not found' unless params.include?(:name) - result = settings.redis_stream.sync_add(params[:name], "group" => "GREETER", "time_out" => 60) - @name = params[:name] - @reversed_name = result[payload] - erb :index +class GreetingsApp < Sinatra::Base + configure do + set :inline_templates, true + set :redis_stream, Redis::Stream::Client.new("greetings", "HTTP", "http_client", "sync_start" => true, "caching" => false) + end + + get '/' do + halt 500, 'reverse parameter not found' unless params.include?(:reverse) + result = settings.redis_stream.sync_add(params[:reverse], "group" => "GREETER", "time_out" => 60) + @reverse = params[:reverse] + @reversed = '' + @reversed = result['payload'] if result && result.include?('payload') + erb :index + end end +GreetingsApp.run! + + __END__ + @@index -<p>Hello, <%= @name %>!</p> -<p><%= @reversed_name</p> +<!DOCTYPE html> +<head><title>Reverse Greeter</title></head> +<body> +<p><%= @reverse %> &lt;=&gt; <%= @reversed %></p> +</body> +</html> ``` # reverse_greeter.rb ```ruby -require 'redis-stream' +require 'redis/stream' reverse_greeter = Redis::Stream::Client.new("greetings", "GREETER", "reverse_greeter") reverse_greeter.on_message do |message| begin greeting = message['payload']