use credo style
This commit is contained in:
parent
cd7220cea3
commit
ad7810a8ea
14
.credo.exs
14
.credo.exs
@ -157,17 +157,17 @@
|
|||||||
#
|
#
|
||||||
# Controversial and experimental checks (opt-in, just replace `false` with `[]`)
|
# Controversial and experimental checks (opt-in, just replace `false` with `[]`)
|
||||||
#
|
#
|
||||||
{Credo.Check.Consistency.MultiAliasImportRequireUse, false},
|
{Credo.Check.Consistency.MultiAliasImportRequireUse, []},
|
||||||
{Credo.Check.Consistency.UnusedVariableNames, false},
|
{Credo.Check.Consistency.UnusedVariableNames, [force: :meaningful]},
|
||||||
{Credo.Check.Design.DuplicatedCode, false},
|
{Credo.Check.Design.DuplicatedCode, false},
|
||||||
{Credo.Check.Readability.AliasAs, false},
|
{Credo.Check.Readability.AliasAs, false},
|
||||||
{Credo.Check.Readability.BlockPipe, false},
|
{Credo.Check.Readability.BlockPipe, false},
|
||||||
{Credo.Check.Readability.ImplTrue, false},
|
{Credo.Check.Readability.ImplTrue, false},
|
||||||
{Credo.Check.Readability.MultiAlias, false},
|
{Credo.Check.Readability.MultiAlias, false},
|
||||||
{Credo.Check.Readability.SeparateAliasRequire, false},
|
{Credo.Check.Readability.SeparateAliasRequire, []},
|
||||||
{Credo.Check.Readability.SinglePipe, false},
|
{Credo.Check.Readability.SinglePipe, false},
|
||||||
{Credo.Check.Readability.Specs, false},
|
{Credo.Check.Readability.Specs, false},
|
||||||
{Credo.Check.Readability.StrictModuleLayout, false},
|
{Credo.Check.Readability.StrictModuleLayout, []},
|
||||||
{Credo.Check.Readability.WithCustomTaggedTuple, false},
|
{Credo.Check.Readability.WithCustomTaggedTuple, false},
|
||||||
{Credo.Check.Refactor.ABCSize, false},
|
{Credo.Check.Refactor.ABCSize, false},
|
||||||
{Credo.Check.Refactor.AppendSingleItem, false},
|
{Credo.Check.Refactor.AppendSingleItem, false},
|
||||||
@ -176,9 +176,9 @@
|
|||||||
{Credo.Check.Refactor.NegatedIsNil, false},
|
{Credo.Check.Refactor.NegatedIsNil, false},
|
||||||
{Credo.Check.Refactor.PipeChainStart, false},
|
{Credo.Check.Refactor.PipeChainStart, false},
|
||||||
{Credo.Check.Refactor.VariableRebinding, false},
|
{Credo.Check.Refactor.VariableRebinding, false},
|
||||||
{Credo.Check.Warning.LeakyEnvironment, false},
|
{Credo.Check.Warning.LeakyEnvironment, []},
|
||||||
{Credo.Check.Warning.MapGetUnsafePass, false},
|
{Credo.Check.Warning.MapGetUnsafePass, []},
|
||||||
{Credo.Check.Warning.UnsafeToAtom, false}
|
{Credo.Check.Warning.UnsafeToAtom, []}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Custom checks can be created using `mix credo.gen.check`.
|
# Custom checks can be created using `mix credo.gen.check`.
|
||||||
|
@ -7,7 +7,9 @@ defmodule Memex.Release do
|
|||||||
|
|
||||||
def rollback(repo, version) do
|
def rollback(repo, version) do
|
||||||
load_app()
|
load_app()
|
||||||
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
|
|
||||||
|
{:ok, _fun_return, _apps} =
|
||||||
|
Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp load_app do
|
defp load_app do
|
||||||
@ -18,7 +20,8 @@ defmodule Memex.Release do
|
|||||||
load_app()
|
load_app()
|
||||||
|
|
||||||
for repo <- Application.fetch_env!(@app, :ecto_repos) do
|
for repo <- Application.fetch_env!(@app, :ecto_repos) do
|
||||||
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
|
{:ok, _fun_return, _apps} =
|
||||||
|
Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -6,11 +6,11 @@ defmodule Memex.Repo.Migrator do
|
|||||||
use GenServer
|
use GenServer
|
||||||
require Logger
|
require Logger
|
||||||
|
|
||||||
def start_link(_) do
|
def start_link(_opts) do
|
||||||
GenServer.start_link(__MODULE__, [], [])
|
GenServer.start_link(__MODULE__, [], [])
|
||||||
end
|
end
|
||||||
|
|
||||||
def init(_) do
|
def init(_opts) do
|
||||||
migrate!()
|
migrate!()
|
||||||
{:ok, nil}
|
{:ok, nil}
|
||||||
end
|
end
|
||||||
|
@ -73,15 +73,16 @@ defmodule MemexWeb do
|
|||||||
quote do
|
quote do
|
||||||
use Phoenix.Router
|
use Phoenix.Router
|
||||||
|
|
||||||
|
import Phoenix.{Controller, LiveView.Router}
|
||||||
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
import Plug.Conn
|
import Plug.Conn
|
||||||
import Phoenix.Controller
|
|
||||||
import Phoenix.LiveView.Router
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def channel do
|
def channel do
|
||||||
quote do
|
quote do
|
||||||
use Phoenix.Channel
|
use Phoenix.Channel
|
||||||
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
import MemexWeb.Gettext
|
import MemexWeb.Gettext
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -89,16 +90,15 @@ defmodule MemexWeb do
|
|||||||
defp view_helpers do
|
defp view_helpers do
|
||||||
quote do
|
quote do
|
||||||
# Use all HTML functionality (forms, tags, etc)
|
# Use all HTML functionality (forms, tags, etc)
|
||||||
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
use Phoenix.HTML
|
use Phoenix.HTML
|
||||||
|
|
||||||
# Import LiveView and .heex helpers (live_render, live_patch, <.form>, etc)
|
# Import LiveView and .heex helpers (live_render, live_patch, <.form>, etc)
|
||||||
import Phoenix.Component
|
|
||||||
import MemexWeb.LiveHelpers
|
|
||||||
|
|
||||||
# Import basic rendering functionality (render, render_layout, etc)
|
# Import basic rendering functionality (render, render_layout, etc)
|
||||||
import Phoenix.View
|
import Phoenix.{Component, View}
|
||||||
|
|
||||||
import MemexWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
|
import MemexWeb.{ErrorHelpers, Gettext, LiveHelpers, ViewHelpers}
|
||||||
|
|
||||||
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
alias MemexWeb.Endpoint
|
alias MemexWeb.Endpoint
|
||||||
alias MemexWeb.Router.Helpers, as: Routes
|
alias MemexWeb.Router.Helpers, as: Routes
|
||||||
end
|
end
|
||||||
|
@ -11,7 +11,7 @@ defmodule MemexWeb.ContextLive.Show do
|
|||||||
@impl true
|
@impl true
|
||||||
def handle_params(
|
def handle_params(
|
||||||
%{"slug" => slug},
|
%{"slug" => slug},
|
||||||
_,
|
_params,
|
||||||
%{assigns: %{live_action: live_action, current_user: current_user}} = socket
|
%{assigns: %{live_action: live_action, current_user: current_user}} = socket
|
||||||
) do
|
) do
|
||||||
context =
|
context =
|
||||||
|
@ -3,12 +3,12 @@ defmodule MemexWeb.HomeLive do
|
|||||||
Liveview for the main home page
|
Liveview for the main home page
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@version Mix.Project.config()[:version]
|
|
||||||
|
|
||||||
use MemexWeb, :live_view
|
use MemexWeb, :live_view
|
||||||
alias Memex.Accounts
|
alias Memex.Accounts
|
||||||
alias MemexWeb.{Endpoint, FaqLive}
|
alias MemexWeb.{Endpoint, FaqLive}
|
||||||
|
|
||||||
|
@version Mix.Project.config()[:version]
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, socket) do
|
def mount(_params, _session, socket) do
|
||||||
admins = Accounts.list_users_by_role(:admin)
|
admins = Accounts.list_users_by_role(:admin)
|
||||||
|
@ -124,7 +124,7 @@ defmodule MemexWeb.InviteLive.Index do
|
|||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("copy_to_clipboard", _, socket) do
|
def handle_event("copy_to_clipboard", _params, socket) do
|
||||||
prompt = dgettext("prompts", "copied to clipboard")
|
prompt = dgettext("prompts", "copied to clipboard")
|
||||||
{:noreply, socket |> put_flash(:info, prompt)}
|
{:noreply, socket |> put_flash(:info, prompt)}
|
||||||
end
|
end
|
||||||
|
@ -11,7 +11,7 @@ defmodule MemexWeb.NoteLive.Show do
|
|||||||
@impl true
|
@impl true
|
||||||
def handle_params(
|
def handle_params(
|
||||||
%{"slug" => slug},
|
%{"slug" => slug},
|
||||||
_,
|
_params,
|
||||||
%{assigns: %{live_action: live_action, current_user: current_user}} = socket
|
%{assigns: %{live_action: live_action, current_user: current_user}} = socket
|
||||||
) do
|
) do
|
||||||
note =
|
note =
|
||||||
|
@ -2,7 +2,6 @@ defmodule MemexWeb.EmailView do
|
|||||||
@moduledoc """
|
@moduledoc """
|
||||||
A view for email-related helper functions
|
A view for email-related helper functions
|
||||||
"""
|
"""
|
||||||
alias MemexWeb.HomeLive
|
|
||||||
|
|
||||||
use MemexWeb, :view
|
use MemexWeb, :view
|
||||||
|
alias MemexWeb.HomeLive
|
||||||
end
|
end
|
||||||
|
@ -8,7 +8,7 @@ defmodule MemexWeb.ErrorView do
|
|||||||
case error_path do
|
case error_path do
|
||||||
"404.html" -> dgettext("errors", "not found")
|
"404.html" -> dgettext("errors", "not found")
|
||||||
"401.html" -> dgettext("errors", "unauthorized")
|
"401.html" -> dgettext("errors", "unauthorized")
|
||||||
_ -> dgettext("errors", "internal server error")
|
_other_path -> dgettext("errors", "internal server error")
|
||||||
end
|
end
|
||||||
|
|
||||||
render("error.html", %{error_string: error_string})
|
render("error.html", %{error_string: error_string})
|
||||||
|
@ -316,7 +316,7 @@ defmodule Memex.AccountsTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "deletes all tokens for the given user", %{user: user} do
|
test "deletes all tokens for the given user", %{user: user} do
|
||||||
_ = Accounts.generate_user_session_token(user)
|
_session_token = Accounts.generate_user_session_token(user)
|
||||||
|
|
||||||
{:ok, _} =
|
{:ok, _} =
|
||||||
Accounts.update_user_password(user, valid_user_password(), %{
|
Accounts.update_user_password(user, valid_user_password(), %{
|
||||||
@ -513,7 +513,7 @@ defmodule Memex.AccountsTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "deletes all tokens for the given user", %{user: user} do
|
test "deletes all tokens for the given user", %{user: user} do
|
||||||
_ = Accounts.generate_user_session_token(user)
|
_session_token = Accounts.generate_user_session_token(user)
|
||||||
{:ok, _} = Accounts.reset_user_password(user, %{"password" => "new valid password"})
|
{:ok, _} = Accounts.reset_user_password(user, %{"password" => "new valid password"})
|
||||||
refute Repo.get_by(UserToken, user_id: user.id)
|
refute Repo.get_by(UserToken, user_id: user.id)
|
||||||
end
|
end
|
||||||
|
@ -116,7 +116,7 @@ defmodule MemexWeb.UserAuthTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "does not authenticate if data is missing", %{conn: conn, current_user: current_user} do
|
test "does not authenticate if data is missing", %{conn: conn, current_user: current_user} do
|
||||||
_ = Accounts.generate_user_session_token(current_user)
|
_session_token = Accounts.generate_user_session_token(current_user)
|
||||||
conn = UserAuth.fetch_current_user(conn, [])
|
conn = UserAuth.fetch_current_user(conn, [])
|
||||||
refute get_session(conn, :user_token)
|
refute get_session(conn, :user_token)
|
||||||
refute conn.assigns.current_user
|
refute conn.assigns.current_user
|
||||||
|
@ -5,8 +5,7 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
|||||||
|
|
||||||
use MemexWeb.ConnCase, async: true
|
use MemexWeb.ConnCase, async: true
|
||||||
import MemexWeb.Gettext
|
import MemexWeb.Gettext
|
||||||
alias Memex.Accounts
|
alias Memex.{Accounts, Repo}
|
||||||
alias Memex.Repo
|
|
||||||
|
|
||||||
@moduletag :user_confirmation_controller_test
|
@moduletag :user_confirmation_controller_test
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ defmodule MemexWeb.ContextLiveTest do
|
|||||||
|> form("#context-form", context: @invalid_attrs)
|
|> form("#context-form", context: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#context-form", context: @create_attrs)
|
|> form("#context-form", context: @create_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -79,7 +79,7 @@ defmodule MemexWeb.ContextLiveTest do
|
|||||||
|> form("#context-form", context: @invalid_attrs)
|
|> form("#context-form", context: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#context-form", context: @update_attrs)
|
|> form("#context-form", context: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -122,7 +122,7 @@ defmodule MemexWeb.ContextLiveTest do
|
|||||||
assert html =~ "can't be blank"
|
assert html =~ "can't be blank"
|
||||||
assert html =~ "tags must be comma-delimited"
|
assert html =~ "tags must be comma-delimited"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
show_live
|
show_live
|
||||||
|> form("#context-form", context: Map.put(@update_attrs, "slug", context.slug))
|
|> form("#context-form", context: Map.put(@update_attrs, "slug", context.slug))
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|
@ -40,7 +40,7 @@ defmodule MemexWeb.InviteLiveTest do
|
|||||||
# |> form("#invite-form", invite: @invalid_attrs)
|
# |> form("#invite-form", invite: @invalid_attrs)
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
# |> render_change() =~ dgettext("errors", "can't be blank")
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#invite-form", invite: @create_attrs)
|
|> form("#invite-form", invite: @create_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -64,7 +64,7 @@ defmodule MemexWeb.InviteLiveTest do
|
|||||||
# |> form("#invite-form", invite: @invalid_attrs)
|
# |> form("#invite-form", invite: @invalid_attrs)
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
# |> render_change() =~ dgettext("errors", "can't be blank")
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#invite-form", invite: @update_attrs)
|
|> form("#invite-form", invite: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|
@ -62,7 +62,7 @@ defmodule MemexWeb.NoteLiveTest do
|
|||||||
assert html =~ "can't be blank"
|
assert html =~ "can't be blank"
|
||||||
assert html =~ "tags must be comma-delimited"
|
assert html =~ "tags must be comma-delimited"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#note-form", note: @create_attrs)
|
|> form("#note-form", note: @create_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -84,7 +84,7 @@ defmodule MemexWeb.NoteLiveTest do
|
|||||||
|> form("#note-form", note: @invalid_attrs)
|
|> form("#note-form", note: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#note-form", note: @update_attrs)
|
|> form("#note-form", note: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -123,7 +123,7 @@ defmodule MemexWeb.NoteLiveTest do
|
|||||||
|> form("#note-form", note: @invalid_attrs)
|
|> form("#note-form", note: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
show_live
|
show_live
|
||||||
|> form("#note-form", note: Map.put(@update_attrs, "slug", note.slug))
|
|> form("#note-form", note: Map.put(@update_attrs, "slug", note.slug))
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|
@ -68,7 +68,7 @@ defmodule MemexWeb.PipelineLiveTest do
|
|||||||
|> form("#pipeline-form", pipeline: @invalid_attrs)
|
|> form("#pipeline-form", pipeline: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#pipeline-form", pipeline: @create_attrs)
|
|> form("#pipeline-form", pipeline: @create_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -90,7 +90,7 @@ defmodule MemexWeb.PipelineLiveTest do
|
|||||||
|> form("#pipeline-form", pipeline: @invalid_attrs)
|
|> form("#pipeline-form", pipeline: @invalid_attrs)
|
||||||
|> render_change() =~ "can't be blank"
|
|> render_change() =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#pipeline-form", pipeline: @update_attrs)
|
|> form("#pipeline-form", pipeline: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
@ -136,7 +136,7 @@ defmodule MemexWeb.PipelineLiveTest do
|
|||||||
assert html =~ "can't be blank"
|
assert html =~ "can't be blank"
|
||||||
assert html =~ "tags must be comma-delimited"
|
assert html =~ "tags must be comma-delimited"
|
||||||
|
|
||||||
{:ok, _, html} =
|
{:ok, _live, html} =
|
||||||
show_live
|
show_live
|
||||||
|> form("#pipeline-form", pipeline: Map.put(@update_attrs, "slug", pipeline.slug))
|
|> form("#pipeline-form", pipeline: Map.put(@update_attrs, "slug", pipeline.slug))
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|
@ -5,12 +5,11 @@ defmodule MemexWeb.ErrorViewTest do
|
|||||||
|
|
||||||
use MemexWeb.ConnCase, async: true
|
use MemexWeb.ConnCase, async: true
|
||||||
import MemexWeb.Gettext
|
import MemexWeb.Gettext
|
||||||
|
|
||||||
@moduletag :error_view_test
|
|
||||||
|
|
||||||
# Bring render/3 and render_to_string/3 for testing custom views
|
# Bring render/3 and render_to_string/3 for testing custom views
|
||||||
import Phoenix.View
|
import Phoenix.View
|
||||||
|
|
||||||
|
@moduletag :error_view_test
|
||||||
|
|
||||||
test "renders 404.html" do
|
test "renders 404.html" do
|
||||||
assert render_to_string(MemexWeb.ErrorView, "404.html", []) =~
|
assert render_to_string(MemexWeb.ErrorView, "404.html", []) =~
|
||||||
dgettext("errors", "not found")
|
dgettext("errors", "not found")
|
||||||
|
@ -26,6 +26,7 @@ defmodule MemexWeb.ConnCase do
|
|||||||
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
import Memex.Fixtures
|
import Memex.Fixtures
|
||||||
import MemexWeb.ConnCase
|
import MemexWeb.ConnCase
|
||||||
|
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
|
||||||
import Phoenix.ConnTest
|
import Phoenix.ConnTest
|
||||||
import Plug.Conn
|
import Plug.Conn
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user