chore: Add doctor.

This commit is contained in:
James Harton 2023-06-23 15:19:46 +12:00
parent b985126894
commit 65b302c891
Signed by: james
GPG key ID: 90E82DAA13F624F4
7 changed files with 38 additions and 0 deletions

17
.doctor.exs Normal file
View file

@ -0,0 +1,17 @@
%Doctor.Config{
ignore_modules: [
~r/^Inspect\./,
~r/^Example/
],
ignore_paths: [],
min_module_doc_coverage: 40,
min_module_spec_coverage: 0,
min_overall_doc_coverage: 50,
min_overall_spec_coverage: 0,
min_overall_moduledoc_coverage: 100,
exception_moduledoc_required: true,
raise: false,
reporter: Doctor.Reporters.Full,
struct_type_spec_required: true,
umbrella: false
}

View file

@ -6,6 +6,9 @@ defmodule Reactor.Dsl.Verifier do
alias Reactor.Dsl.Build
alias Spark.Dsl.Verifier
@doc false
@impl true
@spec verify(Spark.Dsl.t()) :: :ok | {:error, any}
def verify(dsl_state) do
dsl_state
|> Verifier.get_entities([:reactor])

View file

@ -1,10 +1,15 @@
defmodule Reactor.Error.ComposeError do
@moduledoc """
An error used when attempting to compose to Reactors together.
"""
defexception [:outer_reactor, :inner_reactor, :message, :arguments]
import Reactor.Utils
@doc false
@impl true
def exception(attrs), do: struct(__MODULE__, attrs)
@doc false
@impl true
def message(error) do
[

View file

@ -1,10 +1,15 @@
defmodule Reactor.Error.PlanError do
@moduledoc """
An error thrown during the planning of a Reactor.
"""
defexception [:reactor, :graph, :step, :message]
import Reactor.Utils
@doc false
@impl true
def exception(attrs), do: struct(__MODULE__, attrs)
@doc false
@impl true
def message(error) do
[

View file

@ -1,9 +1,14 @@
defmodule Reactor.Error.TransformError do
@moduledoc """
An error which occurs when building and running transforms.
"""
defexception input: nil, output: nil, message: nil
@doc false
@impl true
def exception(attrs), do: struct(__MODULE__, attrs)
@doc false
@impl true
def message(error), do: error.message
end

View file

@ -78,6 +78,7 @@ defmodule Reactor.MixProject do
# Dev/Test dependencies
{:credo, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:doctor, "~> 0.18", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.22", only: [:dev, :test], runtime: false},
{:ex_check, "~> 0.15.0", only: [:dev, :test]},
{:git_ops, "~> 2.6.0", only: [:dev, :test]},

View file

@ -1,7 +1,9 @@
%{
"bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
"credo": {:hex, :credo, "1.7.0", "6119bee47272e85995598ee04f2ebbed3e947678dee048d10b5feca139435f75", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "6839fcf63d1f0d1c0f450abc8564a57c43d644077ab96f2934563e68b8a769d7"},
"decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
"dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"},
"doctor": {:hex, :doctor, "0.21.0", "20ef89355c67778e206225fe74913e96141c4d001cb04efdeba1a2a9704f1ab5", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "a227831daa79784eb24cdeedfa403c46a4cb7d0eab0e31232ec654314447e4e0"},
"earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"},
"erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
"ex_check": {:hex, :ex_check, "0.15.0", "074b94c02de11c37bba1ca82ae5cc4926e6ccee862e57a485b6ba60fca2d8dc1", [:mix], [], "hexpm", "33848031a0c7e4209c3b4369ce154019788b5219956220c35ca5474299fb6a0e"},