パルカワ2

最近はFlutterをやっています

$result->to_hashref(...) を作る。

APIを作るときにDBのデータを返したいときが当然ある。
$result->to_hashref;とかするとまるっと返ってきたりすると便利。
でも、それだけだと$result->get_columns;と一緒だったりするので、to_hashref('large')とか出来るようにしておくと良さげ。

$result->to_hashref('large'); #=> 全部返ってくる
$result->to_hashref('minimum'); #=> 指定されたちょっとだけ返ってくる

サイズの指定にデフォルトの設定があったりすると、
テーブルによってlargeになったり、minimumになったり、
ブレそうなので、サイズの指定は必須にしたほうがよいとおもう。

また、$resultset->to_arrayrefを作るのもありかもしれない、と最近思っている。

$resultset->to_arrayref('large'); #=> [$result->to_hashref('large'), ....];

DBICの場合、うっかり$result->column_nameを返すようにしておくとDateTimeオブジェクトが返ってきたりするので、$result->get_column('column_name')にしておく。
Tengもしておいたほうがいいかも。