Mojolicious-Plugin-Memorize

 view release on metacpan or  search on metacpan

lib/Mojolicious/Plugin/Memorize.pm  view on Meta::CPAN


  my $mem = $self->cache;

  return '' unless ref(my $cb = pop) eq 'CODE';
  my ($name, $args)
    = ref $_[0] eq 'HASH' ? (undef, shift) : (shift, shift || {});

  # Default name
  $name ||= join '', map { $_ || '' } (caller(1))[0 .. 3];

  # Return memorized result or invalidate cached
  return $mem->{$name}{content} if $self->_check_cached($name);

  # Determine new expiration time
  my $expires = 0;
  if ( my $delta = $args->{duration} ) {
    $expires = $delta + Mojo::Util::steady_time;
  } elsif ( my $time = $args->{expires} ) {
    my $delta = $time - time;
    $expires = $delta + Mojo::Util::steady_time;
  }



( run in 1.640 second using v1.01-cache-2.11-cpan-39bf76dae61 )