28 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Pleroma.Web.TwitterAPI.Representers.BaseRepresenter do
 | 
						|
  defmacro __using__(_opts) do
 | 
						|
    quote do
 | 
						|
      def to_json(object) do to_json(object, %{}) end
 | 
						|
      def to_json(object, options) do
 | 
						|
        object
 | 
						|
        |> to_map(options)
 | 
						|
        |> Poison.encode!
 | 
						|
      end
 | 
						|
 | 
						|
      def enum_to_list(enum, options) do
 | 
						|
        mapping = fn (el) -> to_map(el, options) end
 | 
						|
        Enum.map(enum, mapping)
 | 
						|
      end
 | 
						|
 | 
						|
      def to_map(object) do
 | 
						|
        to_map(object, %{})
 | 
						|
      end
 | 
						|
 | 
						|
      def enum_to_json(enum) do enum_to_json(enum, %{}) end
 | 
						|
      def enum_to_json(enum, options) do
 | 
						|
        enum
 | 
						|
        |> enum_to_list(options)
 | 
						|
        |> Poison.encode!
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |