slim-templateをStringからrenderする方法をググったら逆にわからなかった。
説明書を読めばちゃんと書いてあったという事例です
ファイルからのrenderは
Tilt.new['template.slim'].render(scope)
Slim::Template.new('template.slim', optional_option_hash).render(scope)
ですが、Stringからのrenderは
Slim::Template.new(optional_option_hash) { source }.render(scope)
です。 (Slim テンプレートを直接使いたい場合, Tilt インターフェイスが使用できます。)
よって
Slim::Template.new(pretty: false) { "section\n p オラ\n p オラ" }.render
"<section><p>オラ</p><p>オラ</p></section>"
でした。
横着してググる前に、説明書を上から下まで読みましょうという学びでした。