Одно из предложений - попробовать вложенные ограничивающие рамки. Основной ограничивающий прямоугольник будет иметь текст внутри него. в какой-то момент другой ограничивающий прямоугольник для изображения. Что-то вроде
bounding_box([x,y], :width => bounds.width, :height => 400) do
text "blah"
text "blah"
# image
bounding_box([bounds.right - image_width, 0], :width => image_width) do
image("path_to_file", :at => [0,0], :width => bounds)
text "more blah"
end
Вы можете просто использовать изображение без ограничивающего прямоугольника, но ограничивающий прямоугольник будет гарантировать, что текст обтекает его.