package MyApp::Schema::DB::Result::Table;
...
extends 'DBIx::Class::Core';
...
sub TO_JSON {
return { $_[0]->get_inflated_columns };
}
####
package MyApp::View::JSON;
use Moose;
use JSON::XS ();
extends 'Catalyst::View::JSON';
my $encoder = JSON::XS->new->utf8->pretty(0)->indent(0)
->allow_blessed(1)->convert_blessed(1);
sub encode_json {
my( $self, $c, $data ) = @_;
$encoder->encode( $data );
}
####
package MyApp::Schema::DB::Result::Base;
use Moose;
use namespace::autoclean;
extends 'DBIx::Class::Core';
sub TO_JSON {...}
package MyApp::Schema::DB::Result::Table;
...
extends 'MyApp::Schema::DB::Result::Base';
...