aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/utils/params.ex
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-06-17 15:38:10 -0500
committerAlex Gleason <alex@alexgleason.me>2021-06-17 15:38:10 -0500
commit3a03d9b65f96099e7c7a831469532c2cec7294c6 (patch)
tree46d84731c3a53157117fc4c8141fdf6b3d7b8b25 /lib/pleroma/web/utils/params.ex
parenta704d5499c03cb5609ea38a5f2ef06095ced3ef3 (diff)
parenta8adc300d4cfc88ef19f1977e32068437ed4ad00 (diff)
downloadpleroma-nsfw-api-mrf.tar.gz
Merge remote-tracking branch 'pleroma/develop' into nsfw-api-mrfnsfw-api-mrf
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