Von Beitragsnummer zu Post-ID

Ich habe diese Funktion vor zwei Jahren dringend benötigt. Ich habe immer noch nicht herausgefunden, wie man es (noch) besser macht. Dies ist mein Hack:

def get_topic_post(topic_id, post_num)
    topic = @api.topic(topic_id, {print: true})
    post_obj = topic['post_stream']['posts'].find { |p| p['post_number'] == post_num }
    if post_obj
        post_obj['id']
    else
        throw "Could not find post #{topic_id}/#{post_num}."
    end
end

Damit werden die genannten Probleme umgangen: Das {print: true} löst das Paginierungsproblem. Das find ist notwendig, da Moderation eine Diskrepanz zwischen Array-Indizes und Post-Nummern verursachen kann.

Es funktioniert für die Größe der Themen, mit denen ich arbeite. Dennoch wäre ein direkterer Weg über die API befriedigender.