# frozen_string_literal: true class SiteTextSerializer < ApplicationSerializer attributes :id, :value, :status, :old_default, :new_default, :interpolation_keys, :has_interpolation_keys?, :overridden?, :can_revert? def id object[:id] end def value object[:value] end def status if override.present? override.status else "up_to_date" end end def old_default override.original_translation if override.present? end def new_default override.current_default if override.present? end def interpolation_keys object[:interpolation_keys] end def has_interpolation_keys? object[:interpolation_keys].present? end def overridden? if options[:overridden_keys] options[:overridden_keys].include?(object[:id]) else override.present? end end alias_method :can_revert?, :overridden? private def override TranslationOverride.find_by(locale: object[:locale], translation_key: object[:id]) end end