NAME Mojo::Cache::Role::Strict - Limit get to keys that exist and prevent calls to set STATUS SYNOPSIS my $strict_cache = Mojo::Cache->new ->set(key_that_exists => 'I am here!') ->with_roles('+Strict') ; # prints "I am here!" say $strict_cache->get('key_that_exists'); # get key that doesn't exist dies say $strict_cache->get('nonexistent_key'); # setting new key dies $strict_cache->set(new_key => 'I die!'); # updating existing key dies $strict_cache->set(key_that_exists => 'I die!'); # allow nonexistent keys to be passed to get my $value = $strict_cache->strict_get(0)->get('nonexistent_key'); # allow keys to be set $strict_cache->strict_set(0)->set(new_key => 'I live!'); DESCRIPTION Mojo::Cache::Role::Strict is a role that makes your Mojo::Cache instance strict by dying when calling "get" in Mojo::Cache with keys that do not exist in the cache (have not been set with "set" in Mojo::Cache) and by dying when you call "set" in Mojo::Cache. You can optionally allow "get" in Mojo::Cache and "set" in Mojo::Cache with "strict_get" and "strict_set". METHODS exists if ($strict_cache->exists('key')) { my $value = $strict_cache->get('key'); ... } Returns true if a cached value exists for the provided key, false otherwise. "exists" is composed from Mojo::Cache::Role::Exists. See that module for more information. strict_get my $strict_cache = Mojo::Cache->new->with_roles('+Strict')->strict_get(0); # lives even though key does not exist my $value = $strict_cache->get('nonexistent_key'); "strict_get" specifies whether keys must exist when calling "get" in Mojo::Cache. If true, keys that do not exist will throw. If false, undef will be returned. The default is true. This method returns the Mojo::Cache object. strict_set my $strict_cache = Mojo::Cache->new ->set(key_that_exists => 'I am here!') ->with_roles('+Strict') ->strict_set(0) ; # setting new key lives $strict_cache->set(new_key => 'I live!'); # updating existing key lives $strict_cache->set(key_that_exists => 'new value'); "strict_set" specifies whether "set" in Mojo::Cache may be called. If true, calling "set" in Mojo::Cache will throw. If false, calls to "set" in Mojo::Cache are allowed. The default is true. This method returns the Mojo::Cache object. AUTHOR Adam Hopkins COPYRIGHT Copyright 2019- Adam Hopkins LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO * Mojolicious * Mojo::Cache * Mojo::Cache::Role::Exists