| DBIx-Class-Helpers documentation | Contained in the DBIx-Class-Helpers distribution. |
DBIx::Class::Helper::Row::NumifyGet - Force numeric "context" on numeric columns
version 2.007000
package MyApp::Schema::Result::Foo_Bar;
__PACKAGE__->load_components(qw{Helper::Row::NumifyGet Core});
__PACKAGE__->table('Foo');
__PACKAGE__->add_columns(
foo => {
data_type => 'integer',
is_nullable => 0,
is_numeric => 1,
},
);
sub TO_JSON {
return {
foo => $self->foo, # this becomes 0 instead of "0" due to context
}
}
This is the method that "converts" the values. It just checks for
is_numeric and if that is true it will numify the value.
This method also "converts" values, but this one is called a lot more rarely.
Again, It just checks for is_numeric and if that is true it will numify the
value.
Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
This software is copyright (c) 2011 by Arthur Axel "fREW" Schmidt.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| DBIx-Class-Helpers documentation | Contained in the DBIx-Class-Helpers distribution. |
package DBIx::Class::Helper::Row::NumifyGet; BEGIN { $DBIx::Class::Helper::Row::NumifyGet::VERSION = '2.007000'; } use strict; use warnings; # ABSTRACT: Force numeric "context" on numeric columns sub get_column { my ($self, $col) = @_; my $value = $self->next::method($col); $value += 0 if defined($value) and # for nullable and autoinc fields $self->_is_column_numeric($col); return $value; } sub get_columns { my ($self, $col) = @_; my %columns = $self->next::method($col); for (keys %columns) { $columns{$_} += 0 if defined($columns{$_}) and # for nullable and autoinc fields $self->_is_column_numeric($_); } return %columns; } 1; __END__