{
my ($self, $c) = @_;
- Catalyst::Controller::DBIC::API::Request->meta->apply($c->req)
- unless Moose::Util::does_role($c->req, 'Catalyst::Controller::DBIC::API::Request');
+ Moose::Util::ensure_all_roles($c->req, 'Catalyst::Controller::DBIC::API::Request');
}
=method_protected setup
my ($self, undef, $object, $params) = @_;
my %rels;
- while (my ($k, $v) = each %{ $params }) {
- if (ref($v) && !(reftype($v) eq reftype(JSON::true))) {
- $rels{$k} = $v;
+ while (my ($key, $value) = each %{ $params }) {
+ if (ref($value) && !(reftype($value) eq reftype(JSON::true))) {
+ $rels{$key} = $value;
}
+ # accessor = colname
+ elsif ($object->can($key)) {
+ $object->$key($value);
+ }
+ # accessor != colname
else {
- $object->set_column($k => $v);
+ my $accessor = $object->result_source->column_info($key)->{accessor};
+ $object->$accessor($value);
}
}