Flake: support integers in from_string/1
authorhref <href@random.sh>
Sat, 26 Jan 2019 15:58:23 +0000 (16:58 +0100)
committerhref <href@random.sh>
Sat, 26 Jan 2019 15:58:23 +0000 (16:58 +0100)
Some previously issued stateless tokens have integer ids in them.

lib/pleroma/flake_id.ex
test/flake_id_test.exs

index 26399ae053454e74140b8174d3ac6cf077b01a90..69482f69a7ce9554131ee19912a1d646fc09addc 100644 (file)
@@ -33,6 +33,10 @@ defmodule Pleroma.FlakeId do
 
   def to_string(s), do: s
 
+  def from_string(int) when is_integer(int) do
+    from_string(Kernel.to_string(int))
+  end
+
   for i <- [-1, 0] do
     def from_string(unquote(i)), do: <<0::integer-size(128)>>
     def from_string(unquote(Kernel.to_string(i))), do: <<0::integer-size(128)>>
index 8e969fd1ce1aa94970519af2a3a86dcbda5d2b01..ca2338041625eb633ddb8cfa181b87d47378af71 100644 (file)
@@ -11,6 +11,7 @@ defmodule Pleroma.FlakeIdTest do
     test "from_string/1" do
       fake_flake = <<0::integer-size(64), 42::integer-size(64)>>
       assert from_string("42") == fake_flake
+      assert from_string(42) == fake_flake
     end
 
     test "zero or -1 is a null flake" do