Move finmojis to representation.
[akkoma] / lib / pleroma / web / twitter_api / representers / base_representer.ex
index a4ef245fc687195356239c4a0961d0175e978a19..f13a544129df7a6226261d5dd845fc10173e420c 100644 (file)
@@ -1,6 +1,7 @@
 defmodule Pleroma.Web.TwitterAPI.Representers.BaseRepresenter do
   defmacro __using__(_opts) do
     quote do
+      alias Calendar.Strftime
       def to_json(object) do to_json(object, %{}) end
       def to_json(object, options) do
         object
@@ -23,6 +24,18 @@ defmodule Pleroma.Web.TwitterAPI.Representers.BaseRepresenter do
         |> enum_to_list(options)
         |> Poison.encode!
       end
+
+      def format_asctime(date) do
+        Strftime.strftime!(date, "%a %b %d %H:%M:%S %z %Y")
+      end
+
+      def date_to_asctime(date) do
+        with {:ok, date, _offset} <- date |> DateTime.from_iso8601 do
+            format_asctime(date)
+        else _e ->
+            ""
+        end
+      end
     end
   end
 end