Packages
double_down
0.46.1
0.69.0
0.68.0
0.66.0
0.65.0
0.64.1
0.64.0
0.63.3
0.63.2
0.63.1
0.63.0
0.62.1
0.61.0
0.60.4
0.60.3
0.60.2
0.60.1
0.60.0
0.59.0
0.58.0
0.57.0
0.56.1
0.56.0
0.55.0
0.54.0
0.53.0
0.52.3
0.52.2
0.52.1
0.52.0
0.51.0
0.50.1
0.50.0
0.49.0
0.48.1
0.48.0
0.47.2
0.47.1
0.47.0
0.46.3
0.46.2
0.46.1
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.1
0.41.0
0.40.0
0.39.0
0.38.0
0.37.2
0.37.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.1
0.31.0
0.30.1
0.30.0
0.29.0
0.28.1
0.28.0
0.27.0
0.26.0
0.24.0
Builds on the Mox pattern — generates behaviours and dispatch facades from `defcallback` declarations — and adds stateful test doubles powerful enough to test Ecto.Repo operations without a database.
Current section
Files
Jump to
Current section
Files
double_down
mix.exs
mix.exs
defmodule DoubleDown.MixProject do
use Mix.Project
@version File.read!("VERSION") |> String.trim()
def project do
[
app: :double_down,
version: @version,
elixir: "~> 1.19",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
source_url: "https://github.com/mccraigmccraig/double_down",
homepage_url: "https://github.com/mccraigmccraig/double_down",
dialyzer: [plt_add_apps: [:mix, :ex_unit]],
docs: [
main: "readme",
extras: [
"README.md",
"docs/getting-started.md",
"docs/testing.md",
"docs/dynamic.md",
"docs/logging.md",
"docs/process-sharing.md",
"docs/repo.md",
"docs/repo-doubles.md",
"docs/repo-testing.md",
"docs/migration.md",
"CHANGELOG.md"
],
groups_for_extras: [
Introduction: [
"README.md",
"docs/getting-started.md"
],
Guides: [
"docs/testing.md",
"docs/dynamic.md",
"docs/logging.md",
"docs/process-sharing.md",
"docs/repo.md",
"docs/repo-doubles.md",
"docs/repo-testing.md",
"docs/migration.md"
],
About: [
"CHANGELOG.md"
]
],
groups_for_modules: [
Core: [
DoubleDown.Contract,
DoubleDown.ContractFacade,
DoubleDown.BehaviourFacade,
DoubleDown.DynamicFacade
],
Testing: [
DoubleDown.Testing,
DoubleDown.Double,
DoubleDown.Log
],
Repo: [
DoubleDown.Repo,
DoubleDown.Repo.Stub,
DoubleDown.Repo.InMemory,
DoubleDown.Repo.OpenInMemory
],
Internals: [
DoubleDown.Contract.Dispatch,
DoubleDown.Repo.Impl.MultiStepper
]
]
]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
{:nimble_ownership, "~> 1.0"},
{:ecto, "~> 3.12", optional: true},
{:ex_machina, "~> 2.7", only: :test, runtime: false},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}
]
end
defp description do
"""
Builds on the Mox pattern — generates behaviours and dispatch facades
from `defcallback` declarations — and adds stateful test doubles powerful
enough to test Ecto.Repo operations without a database.
"""
end
defp package do
[
name: "double_down",
files: ~w(lib docs .formatter.exs mix.exs README.md CHANGELOG.md LICENSE VERSION),
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/mccraigmccraig/double_down"
}
]
end
end