The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Class::HashAccessor - Helper functions to install accessors for serialized hash columns

VERSION

version 0.001

SYNOPSIS

Your result class

 __PACKAGE__->load_components(
   'HashAccessor',
   'InflateColumn::Serializer',
   'Core'
 );

 __PACKAGE__->table('data');

 __PACKAGE__->add_columns(
   'data' => {
     'data_type' => 'VARCHAR',
     'size' => 255,
     'serializer_class' => 'JSON',
   }
 );

 __PACKAGE__->add_hash_accessor( da => 'data' );

In code

# Access key in hash (no default hash needed)

print $result->da_exists('key') ? 1 : 0; # exists
$result->da('key',$new_value); # set
print $result->da('key'); # get
$result->da_delete('key'); # delete
$result->da_hash('hash','key',22); # set inside hash
print $result->da_hash('hash','key'); # get inside hash
$result->da_hash_delete('hash','key'); # delete inside hash
$result->da_push('array',@elements); # add to array (and create array if key isn't array)
$result->da_shift('array'); # shift from array
$result->da_in('array',$value); # value is in array
$result->da_in_delete('array',$value); # find value in array and delete

DESCRIPTION

SUPPORT

IRC

Join #dbix-class on irc.perl.org. Highlight Getty for fast reaction :).

Repository

http://github.com/Getty/p5-dbix-class-hashaccessor
Pull request and additional contributors are welcome

Issue Tracker

http://github.com/Getty/p5-dbix-class-hashaccessor/issues

AUTHOR

Torsten Raudssus <torsten@raudss.us>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.