• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / realtime / 1ade961f479f27895cfee27bf5fa17f58a8aa15f-PR-1403

05 Jun 2025 02:12PM UTC coverage: 83.763% (+0.7%) from 83.027%
1ade961f479f27895cfee27bf5fa17f58a8aa15f-PR-1403

Pull #1403

github

filipecabaco
fix tests
Pull Request #1403: fix: handle tuple errors

5 of 9 new or added lines in 2 files covered. (55.56%)

7 existing lines in 3 files now uncovered.

1821 of 2174 relevant lines covered (83.76%)

4367.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.0
/lib/realtime/logs.ex
1
defmodule Realtime.Logs do
2
  @moduledoc """
3
  Logging operations for Realtime
4
  """
5
  require Logger
6

7
  defmacro __using__(_opts) do
8
    quote do
9
      require Logger
10

11
      import Realtime.Logs
12
    end
13
  end
14

15
  @doc """
16
  Prepares a value to be logged
17
  """
18
  def to_log(value) when is_binary(value), do: value
2,167✔
19
  def to_log(value), do: inspect(value, pretty: true)
247✔
20

21
  defmacro log_error(code, error, metadata \\ []) do
22
    quote bind_quoted: [code: code, error: error, metadata: metadata], location: :keep do
23
      Logger.error("#{code}: #{Realtime.Logs.to_log(error)}", [error_code: code] ++ metadata)
24
    end
25
  end
26

27
  defmacro log_warning(code, warning, metadata \\ []) do
28
    quote bind_quoted: [code: code, warning: warning, metadata: metadata], location: :keep do
29
      Logger.warning("#{code}: #{Realtime.Logs.to_log(warning)}", [{:error_code, code} | metadata])
30
    end
31
  end
32
end
33

34
defimpl Jason.Encoder, for: DBConnection.ConnectionError do
35
  def encode(
36
        %DBConnection.ConnectionError{message: message, reason: reason, severity: severity},
37
        _opts
38
      ) do
39
    inspect(%{message: message, reason: reason, severity: severity}, pretty: true)
2✔
40
  end
41
end
42

43
defimpl Jason.Encoder, for: Postgrex.Error do
44
  def encode(
45
        %Postgrex.Error{
46
          message: message,
47
          postgres: %{code: code, schema: schema, table: table}
48
        },
49
        _opts
50
      ) do
51
    inspect(%{message: message, schema: schema, table: table, code: code}, pretty: true)
2✔
52
  end
53
end
54

55
defimpl Jason.Encoder, for: Tuple do
56
  def encode(tuple, _opts) do
NEW
57
    inspect(Tuple.to_list(tuple), pretty: true)
×
58
  end
59
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc