http://d.hatena.ne.jp/rubikitch/20080710/1215641240 メソッドの引数にHashをとるのはいっぱいあるときでもきれいに書けるので個人的にはあまり嫌いではない。 classXを使うとHashのチェックが柔軟にできるよというおはなし。 require 'classx/validate' class YourClass include ClassX::Validate def run params validate params do has :x has :y, :default => proc { {} }, :kind_of => Hash end # do something with params end endclassXのアクセサの宣言の仕方でHashをチェックできる。メソッドに渡すべきオプションを宣言的に書くことでコードも読みやすく