chore: apply credo suggestions (#3)
Some checks reported errors
continuous-integration/drone/push Build encountered an error

Mainly add module docs and fix some aliases.
This commit is contained in:
João Paulo Dubas 2022-04-22 00:49:00 +00:00
parent 49bafee50c
commit 410a509faa
20 changed files with 67 additions and 13 deletions

View File

@ -1,4 +1,7 @@
defmodule Wabanex.Exercise do defmodule Wabanex.Exercise do
@moduledoc """
Schema of a exercise contained within a training.
"""
use Ecto.Schema use Ecto.Schema
import Ecto.Changeset import Ecto.Changeset

View File

@ -1,4 +1,8 @@
defmodule Wabanex.IMC do defmodule Wabanex.IMC do
@moduledoc """
Body mass index calculation
"""
def calculate(%{"filename" => filename}) do def calculate(%{"filename" => filename}) do
filename filename
|> File.read() |> File.read()
@ -7,11 +11,7 @@ defmodule Wabanex.IMC do
defp handle_file({:ok, content}) do defp handle_file({:ok, content}) do
data = data =
content content |> String.trim() |> String.split("\n") |> Enum.map(&parse_line/1) |> Enum.into(%{})
|> String.trim()
|> String.split("\n")
|> Enum.map(&parse_line/1)
|> Enum.into(%{})
{:ok, data} {:ok, data}
end end

View File

@ -1,4 +1,7 @@
defmodule Wabanex.Training do defmodule Wabanex.Training do
@moduledoc """
Schema of a training routine for a given period of time.
"""
use Ecto.Schema use Ecto.Schema
import Ecto.Changeset import Ecto.Changeset

View File

@ -1,5 +1,8 @@
defmodule Wabanex.Trainings.Create do defmodule Wabanex.Trainings.Create do
alias Wabanex.{Training, Repo} @moduledoc """
Context to create a training routine.
"""
alias Wabanex.{Repo, Training}
def call(params) do def call(params) do
params params

View File

@ -1,4 +1,7 @@
defmodule Wabanex.User do defmodule Wabanex.User do
@moduledoc """
Schema of a user in the system.
"""
use Ecto.Schema use Ecto.Schema
import Ecto.Changeset import Ecto.Changeset

View File

@ -1,4 +1,7 @@
defmodule Wabanex.Users.Create do defmodule Wabanex.Users.Create do
@moduledoc """
Context for user creation.
"""
alias Wabanex.{Repo, User} alias Wabanex.{Repo, User}
def call(params) do def call(params) do

View File

@ -1,4 +1,7 @@
defmodule Wabanex.Users.Get do defmodule Wabanex.Users.Get do
@moduledoc """
Context to fetch a given user and its current training.
"""
import Ecto.Query import Ecto.Query
alias Wabanex.{Repo, Training, User} alias Wabanex.{Repo, Training, User}

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Resolvers.Training do defmodule WabanexWeb.Resolvers.Training do
@moduledoc """
GraphQL resolver for training operations.
"""
alias Wabanex.Trainings alias Wabanex.Trainings
def create(%{input: params}, _context), do: Trainings.Create.call(params) def create(%{input: params}, _context), do: Trainings.Create.call(params)

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Resolvers.User do defmodule WabanexWeb.Resolvers.User do
@moduledoc """
GraphQL resolver for user operations.
"""
alias Wabanex.Users alias Wabanex.Users
def get(%{id: user_id}, _context), do: Users.Get.call(user_id) def get(%{id: user_id}, _context), do: Users.Get.call(user_id)

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema do defmodule WabanexWeb.Schema do
@moduledoc """
GraphQL schema definition
"""
use Absinthe.Schema use Absinthe.Schema
import_types WabanexWeb.Schema.Types.Root import_types WabanexWeb.Schema.Types.Root

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema.Types.Custom.DateRange do defmodule WabanexWeb.Schema.Types.Custom.DateRange do
@moduledoc """
Graphql date range custom type.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
alias Absinthe.Blueprint.Input alias Absinthe.Blueprint.Input

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema.Types.Custom.UUID4 do defmodule WabanexWeb.Schema.Types.Custom.UUID4 do
@moduledoc """
GraphQL uuid v4 custom type.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
alias Ecto.UUID alias Ecto.UUID

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema.Types.Exercise do defmodule WabanexWeb.Schema.Types.Exercise do
@moduledoc """
GraphQL exercise type definition.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
@desc "Logic exercise representation" @desc "Logic exercise representation"

View File

@ -1,10 +1,13 @@
defmodule WabanexWeb.Schema.Types.Root do defmodule WabanexWeb.Schema.Types.Root do
@moduledoc """
GraphQL root query/mutation aggregator.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
alias Crudry.Middlewares.TranslateErrors alias Crudry.Middlewares.TranslateErrors
alias WabanexWeb.Resolvers.User, as: UserResolver
alias WabanexWeb.Resolvers.Training, as: TrainingResolver alias WabanexWeb.Resolvers.Training, as: TrainingResolver
alias WabanexWeb.Resolvers.User, as: UserResolver
alias WabanexWeb.Schema.Types alias WabanexWeb.Schema.Types
import_types Types.Custom.UUID4 import_types Types.Custom.UUID4

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema.Types.Training do defmodule WabanexWeb.Schema.Types.Training do
@moduledoc """
GraphQL training type definition.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
import_types WabanexWeb.Schema.Types.Custom.DateRange import_types WabanexWeb.Schema.Types.Custom.DateRange

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Schema.Types.User do defmodule WabanexWeb.Schema.Types.User do
@moduledoc """
GraphQL user type definition.
"""
use Absinthe.Schema.Notation use Absinthe.Schema.Notation
@desc "Logic user representation" @desc "Logic user representation"

View File

@ -1,4 +1,7 @@
defmodule WabanexWeb.Telemetry do defmodule WabanexWeb.Telemetry do
@moduledoc """
Telemetry implementation
"""
use Supervisor use Supervisor
import Telemetry.Metrics import Telemetry.Metrics

View File

@ -17,6 +17,8 @@ defmodule WabanexWeb.ChannelCase do
use ExUnit.CaseTemplate use ExUnit.CaseTemplate
alias Ecto.Adapters.SQL.Sandbox
using do using do
quote do quote do
# Import conveniences for testing with channels # Import conveniences for testing with channels
@ -29,10 +31,10 @@ defmodule WabanexWeb.ChannelCase do
end end
setup tags do setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Wabanex.Repo) :ok = Sandbox.checkout(Wabanex.Repo)
unless tags[:async] do unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(Wabanex.Repo, {:shared, self()}) Sandbox.mode(Wabanex.Repo, {:shared, self()})
end end
:ok :ok

View File

@ -17,6 +17,8 @@ defmodule WabanexWeb.ConnCase do
use ExUnit.CaseTemplate use ExUnit.CaseTemplate
alias Ecto.Adapters.SQL.Sandbox
using do using do
quote do quote do
# Import conveniences for testing with connections # Import conveniences for testing with connections
@ -32,10 +34,10 @@ defmodule WabanexWeb.ConnCase do
end end
setup tags do setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Wabanex.Repo) :ok = Sandbox.checkout(Wabanex.Repo)
unless tags[:async] do unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(Wabanex.Repo, {:shared, self()}) Sandbox.mode(Wabanex.Repo, {:shared, self()})
end end
{:ok, conn: Phoenix.ConnTest.build_conn()} {:ok, conn: Phoenix.ConnTest.build_conn()}

View File

@ -16,6 +16,8 @@ defmodule Wabanex.DataCase do
use ExUnit.CaseTemplate use ExUnit.CaseTemplate
alias Ecto.Adapters.SQL.Sandbox
using do using do
quote do quote do
alias Wabanex.Repo alias Wabanex.Repo
@ -28,10 +30,10 @@ defmodule Wabanex.DataCase do
end end
setup tags do setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Wabanex.Repo) :ok = Sandbox.checkout(Wabanex.Repo)
unless tags[:async] do unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(Wabanex.Repo, {:shared, self()}) Sandbox.mode(Wabanex.Repo, {:shared, self()})
end end
:ok :ok