diff --git a/CHANGELOG.md b/CHANGELOG.md index 38fa6329..cd42113c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to the LaunchDarkly Ruby SDK will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org). +## [2.0.3] - 2016-10-21 +## Fixed +- Indirect stream events are now correctly processed + ## [2.0.2] - 2016-08-08 ## Changed - The default logger now logs at `info` level diff --git a/lib/ldclient-rb/stream.rb b/lib/ldclient-rb/stream.rb index fd97b8aa..0613c692 100644 --- a/lib/ldclient-rb/stream.rb +++ b/lib/ldclient-rb/stream.rb @@ -47,24 +47,26 @@ def start end def process_message(message, method) - message = JSON.parse(message.data, symbolize_names: true) @config.logger.debug("[LDClient] Stream received #{method} message") if method == PUT + message = JSON.parse(message.data, symbolize_names: true) @store.init(message) @initialized.make_true @config.logger.info("[LDClient] Stream initialized") elsif method == PATCH + message = JSON.parse(message.data, symbolize_names: true) @store.upsert(message[:path][1..-1], message[:data]) elsif method == DELETE + message = JSON.parse(message.data, symbolize_names: true) @store.delete(message[:path][1..-1], message[:version]) elsif method == INDIRECT_PUT @store.init(@requestor.request_all_flags) @initialized.make_true @config.logger.info("[LDClient] Stream initialized (via indirect message)") elsif method == INDIRECT_PATCH - @store.upsert(@requestor.request_flag(message[:data])) + @store.upsert(message.data, @requestor.request_flag(message.data)) else - @config.logger.error("[LDClient] Unknown message received: #{method}") + @config.logger.warn("[LDClient] Unknown message received: #{method}") end end diff --git a/lib/ldclient-rb/version.rb b/lib/ldclient-rb/version.rb index 3ba7b1f1..0e3e06d0 100644 --- a/lib/ldclient-rb/version.rb +++ b/lib/ldclient-rb/version.rb @@ -1,3 +1,3 @@ module LaunchDarkly - VERSION = "2.0.2" + VERSION = "2.0.3" end diff --git a/spec/stream_spec.rb b/spec/stream_spec.rb index d4a31a86..ce6c4185 100644 --- a/spec/stream_spec.rb +++ b/spec/stream_spec.rb @@ -53,8 +53,8 @@ processor.send(:process_message, delete_message, LaunchDarkly::DELETE) expect(processor.instance_variable_get(:@store).get("key")).to eq(nil) end - it "will log an error if the method is not recognized" do - expect(processor.instance_variable_get(:@config).logger).to receive :error + it "will log a warning if the method is not recognized" do + expect(processor.instance_variable_get(:@config).logger).to receive :warn processor.send(:process_message, put_message, "get") end end