Footprintless::MixableBase - A base class for using mixins
version 1.14
package Foo; use parent qw(Footprintless::MixableBase) use Footprintless::Mixins qw( _sub_entity ... ); sub _init { my ($self, %options); $self->{debug} = $options{debug}; $self->{user} = $self->_entity('user', 1); return $self; } sub get_user { my ($self) = @_; print("getting user\n") if ($self->{debug}); return $self->{user}; } package main; use Footprintless::Util qw(factory); my $foo = Foo->new( factory({ root => { foo => { user => 'bar' } } }), 'root.foo', debug => 1); my $user = $foo->get_user(); # returns 'bar'
Provides the boilerplate constructor for packages that want to use Footprintless::Mixins. Specifically, strips off the first two parameters ($factory
and $coordinate
) and sets them as member variables ($self-
{factory}> and $self-
{coordinate}>). Then it passes on the remainder of the arguments to the _init
method. Subclasses should override _init
for additional initialization.
Lucas Theisen <lucastheisen@pastdev.com>
This software is copyright (c) 2016 by Lucas Theisen.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Please see those modules/websites for more information related to this module.