メソッドa,b,c,dがあり、
'a'の結果が{"symbol"=>"A", "number"=>2.0}
'b'の結果が{"symbol"=>"B", "number"=>0.3}
'c'の結果が{"symbol"=>"C", "number"=>-0.5}
'd'の結果が{"symbol"=>"D", "number"=>-1.7}
と返ってきた場合"number"の最大値と最小値を求めて結果は"symbol"で表示したいと考えています。

a~dを配列でまとめ、maxを使用したら最大値ではないものが、minを使用したら最小値ではないものが返ってきてなかなかうまくいきません。
また"number"の最大値・最小値を求め、結果はそれぞれのペアである"symbol"で表示したいと思っているのですが、やり方が全く思い浮かびません。
なにかアドバイス頂けたらありがたいです。