Packages
mob_dev
0.6.23
0.6.23
0.6.22
0.6.21
0.6.20
0.6.19
0.6.18
0.6.17
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.37
0.3.35
0.3.34
0.3.33
0.3.28
0.3.26
0.3.23
0.3.21
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.18
0.2.17
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
Development tooling for the Mob mobile framework
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/mob.plugin.untrust.ex
defmodule Mix.Tasks.Mob.Plugin.Untrust do
use Mix.Task
@shortdoc "Remove a plugin's trust entry from mob.exs"
@moduledoc """
Removes the `config :mob, :trusted_plugins` entry for `plugin_name`
from `mob.exs`. No-op if the plugin wasn't trusted.
mix mob.plugin.untrust <plugin_name>
"""
alias MobDev.Plugin.TrustStore
@impl Mix.Task
def run(args) do
run_in(args, File.cwd!())
end
@doc false
# Public for tests: lets a test inject the project dir.
@spec run_in([String.t()], Path.t()) :: :ok
def run_in(args, project_dir) do
name = parse_name!(args)
if Map.has_key?(TrustStore.load_trusted_plugins(project_dir), name) do
:ok = TrustStore.remove_trust(name, project_dir)
Mix.shell().info([
:green,
" untrusted ",
:reset,
"#{name} — removed from mob.exs\n"
])
:ok
else
Mix.shell().info("plugin #{inspect(name)} was not trusted — nothing to do")
:ok
end
end
defp parse_name!([name | _]) when is_binary(name) and name != "",
do: String.to_atom(name)
defp parse_name!(_), do: Mix.raise("usage: mix mob.plugin.untrust <plugin_name>")
end