Skip to content

Commit a4ecde4

Browse files
Add :styler and do mix format
1 parent fb1e679 commit a4ecde4

16 files changed

+64
-67
lines changed

.formatter.exs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Used by "mix format"
22
[
3-
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
3+
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"],
4+
plugins: [Styler]
45
]

lib/event_store/appendable_event.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ defimpl Shared.AppendableEvent, for: Any do
2222
end
2323

2424
def streams_to_link(event) do
25-
fields_to_link = Keyword.get(unquote(options), :streams_to_link, []) |> List.wrap()
25+
fields_to_link = unquote(options) |> Keyword.get(:streams_to_link, []) |> List.wrap()
2626

2727
invalid_links =
2828
Enum.reduce(fields_to_link, %{}, fn field, errors ->
@@ -49,7 +49,7 @@ defimpl Shared.AppendableEvent, for: Any do
4949
"Streams ids to link need to be a string, got '#{invalid_links}'."
5050
end
5151

52-
Map.take(event, fields_to_link) |> Map.values()
52+
event |> Map.take(fields_to_link) |> Map.values()
5353
end
5454
end
5555
end

lib/event_store/appendable_event_test.exs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
defmodule Shared.AppendableEventTest do
22
use ExUnit.Case, async: true
3+
34
require Protocol
45

56
defmodule Event do
7+
@moduledoc false
68
defstruct [:a, :b, :c, :d]
79
end
810

lib/event_store/event_store.ex

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,25 @@ defmodule Shared.EventStore do
22
@moduledoc false
33
defmacro __using__(opts \\ []) do
44
quote location: :keep, generated: true, bind_quoted: [opts: opts] do
5+
use EventStore, otp_app: @otp_app
6+
7+
alias Shared.EventStoreEvent
8+
9+
require Logger
10+
511
@event_store_backend __MODULE__
612

713
@otp_app Keyword.fetch!(opts, :otp_app)
8-
use EventStore, otp_app: @otp_app
9-
1014
@repository Keyword.get(opts, :repo) ||
1115
(case(Application.compile_env(@otp_app, :ecto_repos)) do
1216
[repo] ->
1317
repo
1418

1519
_ ->
16-
IO.warn(
17-
":repo option required if you want to wrap append_event in a transaction."
18-
)
20+
IO.warn(":repo option required if you want to wrap append_event in a transaction.")
1921
end)
2022
@use_shared_connection Keyword.get(opts, :use_shared_connection, true)
2123

22-
alias Shared.EventStoreEvent
23-
require Logger
24-
2524
@spec append_event(list(struct()) | struct(), keyword | map) ::
2625
{:ok, list(EventStore.EventData.t())}
2726
def append_event(domain_events, metadata) do
@@ -39,12 +38,8 @@ defmodule Shared.EventStore do
3938

4039
@spec append_event(String.t(), list(struct()) | struct(), keyword | map) ::
4140
{:ok, list(EventStore.EventData.t())}
42-
def append_event(
43-
stream_uuid,
44-
domain_events,
45-
metadata
46-
) do
47-
persisted_events = domain_events |> EventStoreEvent.wrap_for_persistence(metadata)
41+
def append_event(stream_uuid, domain_events, metadata) do
42+
persisted_events = EventStoreEvent.wrap_for_persistence(domain_events, metadata)
4843

4944
case @event_store_backend.append_to_stream(stream_uuid, :any_version, persisted_events,
5045
conn: current_connection(@repository, @use_shared_connection)
@@ -60,8 +55,7 @@ defmodule Shared.EventStore do
6055

6156
@spec append_events(String.t(), list(struct()) | struct(), keyword | map) ::
6257
{:ok, list(EventStore.EventData.t())}
63-
def append_events(stream_uuid, domain_events, metadata),
64-
do: append_event(stream_uuid, domain_events, metadata)
58+
def append_events(stream_uuid, domain_events, metadata), do: append_event(stream_uuid, domain_events, metadata)
6559

6660
@spec all_events(String.t(), keyword()) ::
6761
list(Shared.EventStoreEvent.event_with_metadata())
@@ -131,7 +125,7 @@ defmodule Shared.EventStore do
131125
logged_event = Shared.LoggableEvent.to_log(event)
132126

133127
Logger.info(fn ->
134-
"Appended event stream_uuid=#{stream_uuid} event=[#{logged_event}] metadata=#{metadata |> inspect()}"
128+
"Appended event stream_uuid=#{stream_uuid} event=[#{logged_event}] metadata=#{inspect(metadata)}"
135129
end)
136130
end)
137131
end

lib/event_store/event_store_event.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defmodule Shared.EventStoreEvent do
55
@spec wrap_for_persistence(term | list(term), Enum.t()) :: list(EventStore.EventData.t())
66
def wrap_for_persistence(events, metadata) do
77
events = List.wrap(events)
8-
metadata = Enum.into(metadata, %{})
8+
metadata = Map.new(metadata)
99

1010
Enum.map(events, fn event ->
1111
%EventStore.EventData{
@@ -17,7 +17,7 @@ defmodule Shared.EventStoreEvent do
1717

1818
@spec unwrap(EventStore.RecordedEvent.t()) :: event_with_metadata
1919
def unwrap(%EventStore.RecordedEvent{data: domain_event, metadata: metadata} = event) do
20-
metadata = Enum.into(metadata, %{})
20+
metadata = Map.new(metadata)
2121

2222
recorded_event_metadata =
2323
Map.take(event, [

lib/event_store/event_store_event_test.exs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
defmodule Shared.EventStoreEventTest do
22
use ExUnit.Case, async: true
3+
34
alias Shared.EventStoreEvent, as: Event
45

56
defmodule TestEvent do
7+
@moduledoc false
68
defstruct foo: "bar"
79
end
810

lib/event_store/event_store_listener.ex

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
defmodule Shared.EventStoreListener do
22
@moduledoc false
33
use GenServer
4-
require Logger
4+
55
alias EventStore.RecordedEvent
66

7+
require Logger
8+
79
defmodule ErrorContext do
810
@moduledoc false
911
defstruct [:error_count, :max_retries, :base_delay_in_ms]
@@ -30,11 +32,7 @@ defmodule Shared.EventStoreListener do
3032
error_count - 1
3133
end
3234

33-
def delay(%__MODULE__{
34-
error_count: error_count,
35-
max_retries: max_retries,
36-
base_delay_in_ms: base_delay_in_ms
37-
})
35+
def delay(%__MODULE__{error_count: error_count, max_retries: max_retries, base_delay_in_ms: base_delay_in_ms})
3836
when error_count <= max_retries do
3937
# Exponential backoff
4038
round(:math.pow(2, error_count) * base_delay_in_ms)
@@ -120,8 +118,7 @@ defmodule Shared.EventStoreListener do
120118
def handle(event, metadata, _state), do: handle(event, metadata)
121119
defoverridable handle: 3
122120

123-
def on_error({:error, reason}, _event, _metadata, error_context),
124-
do: {:retry, error_context}
121+
def on_error({:error, reason}, _event, _metadata, error_context), do: {:retry, error_context}
125122

126123
defoverridable on_error: 4
127124

@@ -176,9 +173,7 @@ defmodule Shared.EventStoreListener do
176173
end
177174

178175
def handle_info({:events, [event]}, %{name: name, error_context: context} = state) do
179-
Logger.warning(
180-
"#{name} is retrying (#{context.error_count}/#{context.max_retries}) failed event #{inspect(event)}"
181-
)
176+
Logger.warning("#{name} is retrying (#{context.error_count}/#{context.max_retries}) failed event #{inspect(event)}")
182177

183178
handle_event(event, state, context)
184179
end
@@ -196,11 +191,7 @@ defmodule Shared.EventStoreListener do
196191
do: handler_module.terminate(reason, state)
197192
end
198193

199-
defp handle_event(
200-
%RecordedEvent{} = event,
201-
%{handler_module: handler_module} = state,
202-
%ErrorContext{} = error_context
203-
) do
194+
defp handle_event(%RecordedEvent{} = event, %{handler_module: handler_module} = state, %ErrorContext{} = error_context) do
204195
{domain_event, metadata} = Shared.EventStoreEvent.unwrap(event)
205196
handler_module.handle(domain_event, metadata, state)
206197
rescue
@@ -327,15 +318,11 @@ defmodule Shared.EventStoreListener do
327318

328319
# Wir verwenden diese Schreibweisen um die Dependency auf Timex optional zu halten.
329320
defp unify_delay(%{__struct__: Timex.Duration} = delay) do
330-
{apply(Timex.Duration, :to_milliseconds, [delay, [truncate: true]]),
331-
apply(Timex.Duration, :to_string, [delay])}
321+
{apply(Timex.Duration, :to_milliseconds, [delay, [truncate: true]]), apply(Timex.Duration, :to_string, [delay])}
332322
end
333323

334324
if function_exported?(Kernel, :to_timeout, 1) do
335-
defp unify_delay(delay)
336-
when is_list(delay)
337-
when is_integer(delay)
338-
when is_struct(delay, Duration) do
325+
defp unify_delay(delay) when is_list(delay) when is_integer(delay) when is_struct(delay, Duration) do
339326
t = to_timeout(delay)
340327
{t, "#{t}ms"}
341328
end

lib/event_store/event_store_listener_test.exs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
defmodule Shared.EventStoreListenerTest do
22
use Support.EventStoreCase, async: false
3+
34
import ExUnit.CaptureLog
45

56
@event %Shared.EventTest.FakeEvent{}
67

78
defmodule EventHandlingError do
9+
@moduledoc false
810
defexception [:message]
911
end
1012

1113
defmodule Counter do
14+
@moduledoc false
1215
use Agent
1316

1417
def start_link(initial_value) do
@@ -21,6 +24,7 @@ defmodule Shared.EventStoreListenerTest do
2124
end
2225

2326
defmodule ExampleConsumer do
27+
@moduledoc false
2428
use Shared.EventStoreListener,
2529
subscription_key: "example_consumer",
2630
event_store: JehovakelEx.EventStore
@@ -103,6 +107,7 @@ defmodule Shared.EventStoreListenerTest do
103107

104108
test "allows to configure retry behaviour" do
105109
defmodule ExampleConsumerWithCustomConfig do
110+
@moduledoc false
106111
use Shared.EventStoreListener,
107112
subscription_key: "example_consumer_with_custom_config",
108113
event_store: JehovakelEx.EventStore,
@@ -172,6 +177,7 @@ defmodule Shared.EventStoreListenerTest do
172177
test_process = self()
173178

174179
defmodule SnoozingConsumer do
180+
@moduledoc false
175181
use Shared.EventStoreListener,
176182
subscription_key: "snoozing_consumer",
177183
event_store: JehovakelEx.EventStore
@@ -219,6 +225,7 @@ defmodule Shared.EventStoreListenerTest do
219225

220226
test "does graceful shutdown when GenServer is stopped" do
221227
defmodule SlowConsumer do
228+
@moduledoc false
222229
use Shared.EventStoreListener,
223230
subscription_key: "example_consumer",
224231
event_store: JehovakelEx.EventStore
@@ -243,6 +250,7 @@ defmodule Shared.EventStoreListenerTest do
243250

244251
test "accepts Timex.Duration as :snooze delay" do
245252
defmodule SnoozingConsumer do
253+
@moduledoc false
246254
use Shared.EventStoreListener,
247255
subscription_key: "snoozing_consumer",
248256
event_store: JehovakelEx.EventStore
@@ -306,6 +314,7 @@ defmodule Shared.EventStoreListenerTest do
306314

307315
test "can configure custom restart option for the child spec" do
308316
defmodule TemporaryRestartConsumer do
317+
@moduledoc false
309318
use Shared.EventStoreListener,
310319
subscription_key: "example_consumer",
311320
event_store: JehovakelEx.EventStore,
@@ -323,6 +332,7 @@ defmodule Shared.EventStoreListenerTest do
323332
test "raises if subscription_key is missing" do
324333
assert_raise(RuntimeError, "subscription_key is required since v3.0", fn ->
325334
defmodule MissingSubscriptionKey do
335+
@moduledoc false
326336
use Shared.EventStoreListener,
327337
event_store: JehovakelEx.EventStore
328338
end
@@ -335,6 +345,7 @@ defmodule Shared.EventStoreListenerTest do
335345
"Event Store(event_store: My.EventStore) configuration is missing",
336346
fn ->
337347
defmodule MissingEventStore do
348+
@moduledoc false
338349
use Shared.EventStoreListener,
339350
subscription_key: "example_consumer"
340351
end

lib/event_store/link_appendable_events.ex

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ defmodule Shared.LinkAppendableEvents do
3636
end
3737

3838
# Event notification
39-
def handle_info(
40-
{:events, events},
41-
%{subscription: subscription, event_store: event_store} = state
42-
) do
39+
def handle_info({:events, events}, %{subscription: subscription, event_store: event_store} = state) do
4340
link_appendable_events(event_store, subscription, events)
4441

4542
{:noreply, state}
@@ -51,11 +48,7 @@ defmodule Shared.LinkAppendableEvents do
5148
end
5249
end
5350

54-
defp link_appendable_event(
55-
event_store,
56-
subscription,
57-
%EventStore.RecordedEvent{} = eventstore_event
58-
) do
51+
defp link_appendable_event(event_store, subscription, %EventStore.RecordedEvent{} = eventstore_event) do
5952
event = eventstore_event.data
6053

6154
if Shared.AppendableEvent.impl_for(event) do

lib/event_store/link_appendable_events_test.exs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ defmodule Shared.LinkAppendableEventsTest do
22
use Support.EventStoreCase, async: false
33

44
defmodule TestEvent do
5+
@moduledoc false
56
@derive {Shared.AppendableEvent, stream_id: :a, streams_to_link: :b}
67
defstruct [:a, :b, :c, :d]
78
end
@@ -39,9 +40,7 @@ defmodule Shared.LinkAppendableEventsTest do
3940

4041
Postgrex.query!(postgrex, "DELETE FROM subscriptions WHERE true", [])
4142

42-
start_supervised!(
43-
{Shared.LinkAppendableEvents, event_store: JehovakelEx.EventStore, subscription_name: "FOO"}
44-
)
43+
start_supervised!({Shared.LinkAppendableEvents, event_store: JehovakelEx.EventStore, subscription_name: "FOO"})
4544

4645
wait_until(fn ->
4746
assert %{num_rows: 1, rows: [[1]]} =

0 commit comments

Comments
 (0)