Skip to content
Extraits de code Groupes Projets
inline_renderer.rb 781 octets
Newer Older
  • Learn to ignore specific revisions
  • # frozen_string_literal: true
    
    class InlineRenderer
    
      def initialize(object, current_account, template)
        @object          = object
        @current_account = current_account
        @template        = template
      end
    
      def render
        case @template
        when :status
          serializer = REST::StatusSerializer
        when :notification
          serializer = REST::NotificationSerializer
        else
          return
        end
    
        serializable_resource = ActiveModelSerializers::SerializableResource.new(@object, serializer: serializer, scope: current_user, scope_name: :current_user)
        serializable_resource.as_json
      end
    
      def self.render(object, current_account, template)
        new(object, current_account, template).render
      end
    
      private
    
      def current_user
        @current_account&.user