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

   App::Wubot::Util::AgeColor - define colors based on the age of items

VERSION

version 0.5.0

SYNOPSIS

  use App::Wubot::Util::AgeColor;

  # the 'colormap' defines the colors for specific ages in seconds
  my $colormap = { 0            => '6c003f',
                   60*60*24     => '440066',
                   60*60*24*7   => '002b66',
                   60*60*24*30  => '004a00',
                   60*60*24*365 => '804c00',
               };

  my $colorer = App::Wubot::Util::AgeColor->new( { colormap => $colormap } );

  # get the age color for something that just happened right now, 6c003f
  print $colorer->get_age_color( 0 ), "\n";

  # get the age color for 1 day old, #440066
  print $colorer->get_age_color( 60*60*24 ), "\n";

  # get the age color for 12 hours old, #580052
  print $colorer->get_age_color( 60*60*12 ), "\n";

  # get a smooth gradient of colors between 6c003f and 440066
  for my $hours ( 0 .. 24  ) {
      print $colorer->get_age_color( $hours * 3600 ), "\n";

  }

DESCRIPTION

This library is used to colorize an item or field based on its age in seconds. This helps to very quickly assess the age of an item in the web interface by looking at the color.

A steady stream of items with evenly spaced ages will create a smooth gradient of color.

App::Wubot

SUBROUTINES/METHODS

$obj->get_age_color( $seconds )

Return a hex color based on the specified age in seconds.