aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/utils/params.ex
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-06-07 16:01:26 -0500
committerMark Felder <feld@feld.me>2021-06-08 12:50:47 -0500
commitec65b7ae294eaf7f908960950ee573bf8d038715 (patch)
treeec49d1acfea3ee45141d89181bb9be9e1d5865eb /lib/pleroma/web/utils/params.ex
parent0877b120c30a69788070de8990ac46ef0cdf23b3 (diff)
downloadpleroma-ec65b7ae294eaf7f908960950ee573bf8d038715.tar.gz
Pleroma.Web.Params --> Pleroma.Web.Utils.Params
Diffstat (limited to 'lib/pleroma/web/utils/params.ex')
-rw-r--r--lib/pleroma/web/utils/params.ex16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/pleroma/web/utils/params.ex b/lib/pleroma/web/utils/params.ex
new file mode 100644
index 000000000..6e0900341
--- /dev/null
+++ b/lib/pleroma/web/utils/params.ex
@@ -0,0 +1,16 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.Utils.Params do
+ # As in Mastodon API, per https://api.rubyonrails.org/classes/ActiveModel/Type/Boolean.html
+ @falsy_param_values [false, 0, "0", "f", "F", "false", "False", "FALSE", "off", "OFF"]
+
+ defp explicitly_falsy_param?(value), do: value in @falsy_param_values
+
+ # Note: `nil` and `""` are considered falsy values in Pleroma
+ defp falsy_param?(value),
+ do: explicitly_falsy_param?(value) or value in [nil, ""]
+
+ def truthy_param?(value), do: not falsy_param?(value)
+end