NAME

Perlanet::Role::Config - A role to be used in Perlanet traits that read config.

SYNOPSIS

   package Perlanet::Trait::MyConfig;

   use Moose::Role;

   with 'Perlanet::Role::Config';

  # Class method to return the config
  sub get_config_from_somewhere {
    my $class = shift;

    # get_config() is defined in this role
    return $class->get_config(@_)
  }

  # get_config() calls this to actually read the config.
  sub read_config {
    my $class = shift;
    my %params = @_;

    my $cfg = ...;

    return $cfg;
  }

DESCRIPTION

A role that is used to build Perlanet traits which read config information from various sources.

This role does two things:

  • It exposes a method called get_config() which gets the raw config data (using your read_config() method).

  • It forces your trait to define a method called read_config() which actually reads the config and returns it as a hash reference.

METHODS

get_config

Calls your read_config() method to actually get the config data (as a hash reference) and then munges that data in various ways to get a useful config hash.

THIRTY_DAYS

Constant to define the default cache expiration time in seconds.

AUTHOR

Dave Cross, <dave@perlhacks.com>

COPYRIGHT AND LICENSE

Copyright (c) 2022 by Magnum Solutions Ltd.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.