Rubyで文字列末尾からn文字を取り出したいです

Ruby の String#slice は、第一引数に「文字列の長さ+1」を超える絶対値を持つ数値を渡すと nil を返却します
そのため、安易に str.slice(-n, -1) としてしまうと nil が返却されてしまい、nil チェックなしに String のメソッドを利用すると NoMethodError が発生してしまいます
(n は必ず正の整数です)

Ruby では「文字列の末尾n文字を得る」という至極単純な操作を分岐なしに実現することは本当にできないのでしょうか?
str.slice(-n, -1) || "" で限界なのでしょうか?