Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
otp: 24.3.4.17
- elixir: 1.18.1
otp: 27.2
- elixir: 1.19.4
otp: 28.3
env:
MIX_ENV: test
steps:
Expand Down
4 changes: 2 additions & 2 deletions lib/ex_json_schema/schema.ex
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ defmodule ExJsonSchema.Schema do
end

root = %Root{root | version: schema_version}
{root, schema} = resolve_with_root(root, root_schema, scope)
{%Root{} = root, schema} = resolve_with_root(root, root_schema, scope)

%Root{root | schema: schema}
|> resolve_refs(schema)
Expand Down Expand Up @@ -366,5 +366,5 @@ defmodule ExJsonSchema.Schema do
do: raise(InvalidReferenceError, message: "invalid reference #{ref}")

def raise_invalid_reference_error(ref),
do: ref |> to_string() |> raise_invalid_reference_error
do: ref |> to_string() |> raise_invalid_reference_error()
end
6 changes: 3 additions & 3 deletions lib/ex_json_schema/schema/ref.ex
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ defmodule ExJsonSchema.Schema.Ref do
%__MODULE__{location: location} |> parse_fragment(fragment)
end

defp parse_fragment(ref, fragment) when fragment in [nil, ""], do: %__MODULE__{ref | fragment: []}
defp parse_fragment(%__MODULE__{} = ref, fragment) when fragment in [nil, ""], do: %__MODULE__{ref | fragment: []}

defp parse_fragment(ref, "/" <> _ = pointer) do
defp parse_fragment(%__MODULE__{} = ref, "/" <> _ = pointer) do
keys = unescaped_ref_segments(pointer)

pointer =
Expand All @@ -45,7 +45,7 @@ defmodule ExJsonSchema.Schema.Ref do
%__MODULE__{ref | fragment: pointer, fragment_pointer?: true}
end

defp parse_fragment(ref, id), do: %__MODULE__{ref | fragment: [id]}
defp parse_fragment(%__MODULE__{} = ref, id), do: %__MODULE__{ref | fragment: [id]}

defp unescaped_ref_segments(ref) do
ref
Expand Down
5 changes: 4 additions & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ defmodule ExJsonSchema.Mixfile do
package: package(),
elixirc_paths: elixirc_paths(Mix.env()),
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [coveralls: :test, dialyzer: :test],
dialyzer: [
plt_add_apps: [:ex_unit]
]
Expand All @@ -29,6 +28,10 @@ defmodule ExJsonSchema.Mixfile do
[extra_applications: []]
end

def cli do
[preferred_envs: [coveralls: :test, dialyzer: :test]]
end

defp deps do
[
{:decimal, "~> 2.0"},
Expand Down
Loading