From 75f71be44264fb4f91239402bcfa5fb6e86482ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20=C5=81asocha?= Date: Wed, 1 Aug 2018 09:24:19 +0200 Subject: [PATCH 1/3] Make RubyEventStore#append return self instead of ok Issue: #392 --- ruby_event_store/lib/ruby_event_store/client.rb | 4 ++-- ruby_event_store/spec/client_spec.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ruby_event_store/lib/ruby_event_store/client.rb b/ruby_event_store/lib/ruby_event_store/client.rb index 15b7d3312b..4d486c1011 100644 --- a/ruby_event_store/lib/ruby_event_store/client.rb +++ b/ruby_event_store/lib/ruby_event_store/client.rb @@ -72,11 +72,11 @@ def append_to_stream(events, stream_name: GLOBAL_STREAM, expected_version: :any) # Persists new event(s) without notifying any subscribed handlers # # @param (see #publish) - # @return [:ok] + # @return [self] def append(events, stream_name: GLOBAL_STREAM, expected_version: :any) serialized_events = serialize_events(enrich_events_metadata(events)) append_to_stream_serialized_events(serialized_events, stream_name: stream_name, expected_version: expected_version) - :ok + self end # Links already persisted event(s) to a different stream. diff --git a/ruby_event_store/spec/client_spec.rb b/ruby_event_store/spec/client_spec.rb index 8fc2bdba3d..216029d160 100644 --- a/ruby_event_store/spec/client_spec.rb +++ b/ruby_event_store/spec/client_spec.rb @@ -11,12 +11,12 @@ module RubyEventStore expect(client.publish(TestEvent.new)).to eq(:ok) end - specify 'append returns :ok when success' do - expect(client.append(TestEvent.new, stream_name: stream)).to eq(:ok) + specify 'append returns client when success' do + expect(client.append(TestEvent.new, stream_name: stream)).to eq(client) end specify 'append to default stream when not specified' do - expect(client.append(test_event = TestEvent.new)).to eq(:ok) + expect(client.append(test_event = TestEvent.new)).to eq(client) expect(client.read.limit(100).each.to_a).to eq([test_event]) end From 17b4fcc357954e5d11f3664df2900f2599905291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20=C5=81asocha?= Date: Wed, 1 Aug 2018 09:33:41 +0200 Subject: [PATCH 2/3] Make RubyEventStore#publish return self instead of :ok Issue: #392 --- ruby_event_store/lib/ruby_event_store/client.rb | 4 ++-- ruby_event_store/spec/client_spec.rb | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ruby_event_store/lib/ruby_event_store/client.rb b/ruby_event_store/lib/ruby_event_store/client.rb index 4d486c1011..e4b417a531 100644 --- a/ruby_event_store/lib/ruby_event_store/client.rb +++ b/ruby_event_store/lib/ruby_event_store/client.rb @@ -23,7 +23,7 @@ def initialize(repository:, # @param events [Array, Event, Proto] event(s) # @param stream_name [String] name of the stream for persisting events. # @param expected_version [:any, :auto, :none, Integer] controls optimistic locking strategy. {http://railseventstore.org/docs/expected_version/ Read more} - # @return [:ok] + # @return [self] def publish(events, stream_name: GLOBAL_STREAM, expected_version: :any) enriched_events = enrich_events_metadata(events) serialized_events = serialize_events(enriched_events) @@ -36,7 +36,7 @@ def publish(events, stream_name: GLOBAL_STREAM, expected_version: :any) broker.(event, serialized_event) end end - :ok + self end # @deprecated Use {#publish} instead diff --git a/ruby_event_store/spec/client_spec.rb b/ruby_event_store/spec/client_spec.rb index 216029d160..dfdd5578e3 100644 --- a/ruby_event_store/spec/client_spec.rb +++ b/ruby_event_store/spec/client_spec.rb @@ -7,8 +7,8 @@ module RubyEventStore let(:client) { RubyEventStore::Client.new(repository: InMemoryRepository.new) } let(:stream) { SecureRandom.uuid } - specify 'publish returns :ok when success' do - expect(client.publish(TestEvent.new)).to eq(:ok) + specify 'publish returns self when success' do + expect(client.publish(TestEvent.new)).to eq(client) end specify 'append returns client when success' do @@ -21,7 +21,7 @@ module RubyEventStore end specify 'publish to default stream when not specified' do - expect(client.publish([test_event = TestEvent.new])).to eq(:ok) + expect(client.publish([test_event = TestEvent.new])).to eq(client) expect(client.read.limit(100).each.to_a).to eq([test_event]) end @@ -30,24 +30,24 @@ module RubyEventStore end specify 'publish to default stream when not specified' do - expect(client.publish(test_event = TestEvent.new)).to eq(:ok) + expect(client.publish(test_event = TestEvent.new)).to eq(client) expect(client.read.limit(100).each.to_a).to eq([test_event]) end specify 'publish first event, expect any stream state' do - expect(client.publish(first_event = TestEvent.new, stream_name: stream)).to eq(:ok) + expect(client.publish(first_event = TestEvent.new, stream_name: stream)).to eq(client) expect(client.read.stream(stream).each.to_a).to eq([first_event]) end specify 'publish next event, expect any stream state' do client.append(first_event = TestEvent.new, stream_name: stream) - expect(client.publish(second_event = TestEvent.new, stream_name: stream)).to eq(:ok) + expect(client.publish(second_event = TestEvent.new, stream_name: stream)).to eq(client) expect(client.read.stream(stream).each.to_a).to eq([first_event, second_event]) end specify 'publish first event, expect empty stream' do - expect(client.publish(first_event = TestEvent.new, stream_name: stream, expected_version: :none)).to eq(:ok) + expect(client.publish(first_event = TestEvent.new, stream_name: stream, expected_version: :none)).to eq(client) expect(client.read.stream(stream).each.to_a).to eq([first_event]) end @@ -61,7 +61,7 @@ module RubyEventStore specify 'publish event, expect last event to be the last read one' do client.append(first_event = TestEvent.new, stream_name: stream) - expect(client.publish(second_event = TestEvent.new, stream_name: stream, expected_version: 0)).to eq(:ok) + expect(client.publish(second_event = TestEvent.new, stream_name: stream, expected_version: 0)).to eq(client) expect(client.read.stream(stream).each.to_a).to eq([first_event, second_event]) end From 6684162c866be8032a19d01f4d9525affb03a422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20=C5=81asocha?= Date: Wed, 1 Aug 2018 09:37:12 +0200 Subject: [PATCH 3/3] Make RubyEventStore#delete_stream return self instead of :ok Issue: #392 --- ruby_event_store/lib/ruby_event_store/client.rb | 4 ++-- ruby_event_store/spec/client_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ruby_event_store/lib/ruby_event_store/client.rb b/ruby_event_store/lib/ruby_event_store/client.rb index e4b417a531..e7ab08bafc 100644 --- a/ruby_event_store/lib/ruby_event_store/client.rb +++ b/ruby_event_store/lib/ruby_event_store/client.rb @@ -106,10 +106,10 @@ def link_to_stream(event_ids, stream_name:, expected_version: :any) # longer linked to the stream. # # @param stream_name [String] name of the stream to be cleared. - # @return [:ok] + # @return [self] def delete_stream(stream_name) repository.delete_stream(Stream.new(stream_name)) - :ok + self end # @deprecated Use {#read} instead. {https://github.com/RailsEventStore/rails_event_store/releases/tag/v0.30.0 More info} diff --git a/ruby_event_store/spec/client_spec.rb b/ruby_event_store/spec/client_spec.rb index dfdd5578e3..3740e12ade 100644 --- a/ruby_event_store/spec/client_spec.rb +++ b/ruby_event_store/spec/client_spec.rb @@ -25,8 +25,8 @@ module RubyEventStore expect(client.read.limit(100).each.to_a).to eq([test_event]) end - specify 'delete_stream returns :ok when success' do - expect(client.delete_stream(stream)).to eq(:ok) + specify 'delete_stream returns client when success' do + expect(client.delete_stream(stream)).to eq(client) end specify 'publish to default stream when not specified' do