Actually I was thinking of that one as flow control, but you're right mixing the `return unless` with the `or` is confusing.  So, this variant reads more clearly to me (consistently uses `or`s for flow control):

    text_facts = request.options[:facts_data] or
        text_facts = request.options[:facts] or
        return

Thoughts?  Alternately, I could unpack it to, say, if/else constructs.