diff --git a/lib/ecto/repo.ex b/lib/ecto/repo.ex index e570e0b038..755e41857c 100644 --- a/lib/ecto/repo.ex +++ b/lib/ecto/repo.ex @@ -214,6 +214,24 @@ defmodule Ecto.Repo do """ + @moduledoc groups: [ + %{title: "Query API", description: "Functions that operate on an `Ecto.Query`."}, + %{ + title: "Schema API", + description: "Functions that operate on an `Ecto.Schema` or a `Ecto.Changeset`." + }, + %{ + title: "Transaction API", + description: "Functions to work with database transactions and connections." + }, + %{ + title: "Process API", + description: "Functions to work with repository processes." + }, + "Config API", + "User callbacks" + ] + @type t :: module @doc """ @@ -223,6 +241,7 @@ defmodule Ecto.Repo do contains either atoms, for named Ecto repositories, or PIDs. """ + @doc group: "Process API" @spec all_running() :: [atom() | pid()] defdelegate all_running(), to: Ecto.Repo.Registry diff --git a/mix.exs b/mix.exs index d6888800b1..70eaf77e8b 100644 --- a/mix.exs +++ b/mix.exs @@ -35,7 +35,7 @@ defmodule Ecto.MixProject do {:telemetry, "~> 0.4 or ~> 1.0"}, {:decimal, "~> 2.0"}, {:jason, "~> 1.0", optional: true}, - {:ex_doc, "~> 0.20", only: :docs} + {:ex_doc, github: "elixir-lang/ex_doc", only: :docs} ] end @@ -63,14 +63,6 @@ defmodule Ecto.MixProject do skip_undefined_reference_warnings_on: ["CHANGELOG.md"], extras: extras(), groups_for_extras: groups_for_extras(), - groups_for_docs: [ - group_for_function("Query API"), - group_for_function("Schema API"), - group_for_function("Transaction API"), - group_for_function("Process API"), - group_for_function("Config API"), - group_for_function("User callbacks") - ], groups_for_modules: [ # Ecto, # Ecto.Changeset, @@ -165,8 +157,6 @@ defmodule Ecto.MixProject do ] end - defp group_for_function(group), do: {String.to_atom(group), &(&1[:group] == group)} - defp groups_for_extras do [ Introduction: ~r/guides\/introduction\/.?/, diff --git a/mix.lock b/mix.lock index 3787c49aa8..39ec7428b4 100644 --- a/mix.lock +++ b/mix.lock @@ -1,7 +1,7 @@ %{ "decimal": {:hex, :decimal, "2.3.0", "3ad6255aa77b4a3c4f818171b12d237500e63525c2fd056699967a3e7ea20f62", [:mix], [], "hexpm", "a4d66355cb29cb47c3cf30e71329e58361cfcb37c34235ef3bf1d7bf3773aeac"}, "earmark_parser": {:hex, :earmark_parser, "1.4.44", "f20830dd6b5c77afe2b063777ddbbff09f9759396500cdbe7523efd58d7a339c", [:mix], [], "hexpm", "4778ac752b4701a5599215f7030989c989ffdc4f6df457c5f36938cc2d2a2750"}, - "ex_doc": {:hex, :ex_doc, "0.38.2", "504d25eef296b4dec3b8e33e810bc8b5344d565998cd83914ffe1b8503737c02", [:mix], [{:earmark_parser, "~> 1.4.44", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "732f2d972e42c116a70802f9898c51b54916e542cc50968ac6980512ec90f42b"}, + "ex_doc": {:git, "https://github.com/elixir-lang/ex_doc.git", "3ebc1daa20f8aa54f53e15f5da6d7c1559ec64ea", []}, "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "makeup": {:hex, :makeup, "1.2.1", "e90ac1c65589ef354378def3ba19d401e739ee7ee06fb47f94c687016e3713d1", [:mix], [{:nimble_parsec, "~> 1.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "d36484867b0bae0fea568d10131197a4c2e47056a6fbe84922bf6ba71c8d17ce"}, "makeup_elixir": {:hex, :makeup_elixir, "1.0.1", "e928a4f984e795e41e3abd27bfc09f51db16ab8ba1aebdba2b3a575437efafc2", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7284900d412a3e5cfd97fdaed4f5ed389b8f2b4cb49efc0eb3bd10e2febf9507"},