2017-02-17 3 views
0

を施行まだあまりにも多くのparamsでメソッドを短縮&クリーンアップしますそのようなハッシュにこれらをグループ化するのメートル思考:ベストな方法は、/私は現在、私は短くしたい厳しいのparamsの多くの方法を持っている厳密/非行方不明のparams

build_receipt(order_details: {}, invoice_details: {}) 

誰もが私はparamは明示の全てのキーの検証を記述することなく、不足している時はいつでもまだエラーを投げながら、上記の操作を行うことができますまともな方法を知っているだろう上記のハッシュを1行ずつ(または、上記の方法でより良い方法がある場合短縮される)?

答えて

0

あなたはその上から継続し、渡されたキーの数を数え、そして何の欠損値がないことができます。

def build_receipt(order_details={}, invoice_details={}) 
    return if order_details.merge(invoice_details).keys.count != 5 or order_details.merge(invoice_details).values.any?{|v| v.nil? } 
    #do something 
end 
関連する問題