ruby ではスペースによって引数付きのメソッドコールを表すことができますが、これがどういうタイミングで可能なのかが分からないな、と思っています。

例えば、以下ではメソッドコールは成功します。

[1] pry(main)> ([1].take 1).to_s
=> "[1]"

しかし、以下では成功しません。

[2] pry(main)> true ? [1] : [0].take 1
SyntaxError: unexpected tINTEGER, expecting end-of-input
true ? [1] : [0].take 1
                      ^

この失敗している例において、文法的な解釈として、 [0].take 1 をひとつのメソッドコールとして解釈してくれてもいいかと思いましたが、(それ以外に正しい式の木を構築する方法がないはずなので)そうはなっていない様子です。

質問

ruby においてスペースによってメソッドコールができる文脈は何ですか?