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

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.