about summary refs log blame commit diff
path: root/app/lib/inline_renderer.rb
blob: 7cd9758ece561b114135a2c9d3c9387f77a9dd78 (plain) (tree)
1
2
3

                             


























                                                                                                                                                             
     
# 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
  end
end