commit: 42c90855ba826a93cada909f105307c95dc0e130
parent: 4a6d48b0fe991b68b555c75faca095725aff487b
Author: Roger Braun <roger@rogerbraun.net>
Date: Thu, 30 Mar 2017 16:08:49 +0200
Basic ObjectRepresenter.
Diffstat:
2 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/lib/pleroma/web/twitter_api/representers/object_representer.ex b/lib/pleroma/web/twitter_api/representers/object_representer.ex
@@ -0,0 +1,15 @@
+defmodule Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter do
+ use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter
+ alias Pleroma.Object
+
+ def to_map(%Object{} = object, _opts) do
+ data = object.data
+ url = List.first(data["url"])
+ %{
+ url: url["href"],
+ mimetype: url["mediaType"],
+ id: object.id,
+ oembed: false
+ }
+ end
+end
diff --git a/test/web/twitter_api/representers/object_representer_test.exs b/test/web/twitter_api/representers/object_representer_test.exs
@@ -0,0 +1,30 @@
+defmodule Pleroma.Web.TwitterAPI.Representers.ObjectReprenterTest do
+ use Pleroma.DataCase
+
+ alias Pleroma.Object
+ alias Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter
+
+ test "represent an image attachment" do
+ object = %Object{
+ id: 5,
+ data: %{
+ "type" => "Image",
+ "url" => [
+ %{
+ "mediaType" => "sometype",
+ "href" => "someurl"
+ }
+ ]
+ }
+ }
+
+ expected_object = %{
+ id: 5,
+ url: "someurl",
+ mimetype: "sometype",
+ oembed: false
+ }
+
+ assert expected_object == ObjectRepresenter.to_map(object)
+ end
+end