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

Module::Generic::Dynamic - Dynamic Object Class

SYNOPSIS

    package My::Module;
    use parent qw( Module::Generic::Dynamic );

    # Then, instantiating an object
    my $object = My::Module->new({
        name => $some_name,
        quantity => 20,
        metadata => $some_hash_reference,
        tags => [qw( product entrepreneurship capital )],
    });

    # Then the methods corresponding to the data keys can be accessed
    my $product_name = $object->name
    # etc

VERSION

    v1.2.4

DESCRIPTION

The purpose of this class/package is to provide a framework to create dynamically created class/package.

For more granular control over the method to be used for each data key-value, use "_set_get_class" in Module::Generic

METHODS

new

Provided with an hash reference of data, this will create dynamically a class based on the class/pacakge name used to call new

It will then associate helper method sbased on the data type for each key of the hash reference. Precisely:

SERIALISATION

Serialisation by CBOR, Sereal and Storable::Improved (or the legacy Storable) is supported by this package. To that effect, the following subroutines are implemented: FREEZE, THAW, STORABLE_freeze and STORABLE_thaw

AUTHOR

Jacques Deguest <jack@deguest.jp>

COPYRIGHT & LICENSE

Copyright (c) 2000-2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.