Enumerable#entries
にはまったというお話。
class Hash def method_missing(method, *args) ret = self[method] || self[method.to_s] return ret if ret super end end h = {root: {hoge: 1, foo: 2}, entries: [{hoge: 3, foo: 4}, {hoge: 5, foo: 6}]} h.entries #=> [[root: {hoge: 1, foo: 2}, entries: [{hoge: 3, foo: 4}, {hoge: 5, foo: 6}]]]
to_a
だけでいいのでは、と思った。Rubyはよくaliasが提供されてるけど不要なんじゃないかと思う時もある。
や、今回のは不用意にmethod_missing
使うなとか、ドキュメント嫁という話ではあるのだけれども...