logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Bread::Board::LifeCycle::Singleton::WithParameters - singleton lifecycle role for a parameterized service

Attributes

"instances"
       Hashref mapping keys to objects, used to cache the results of "get"

Author

       Stevan Little <stevan@iinteractive.com>

Bugs

       Please report any bugs or feature requests on the bugtracker website
       https://github.com/stevan/BreadBoard/issues

       When submitting a bug or request, please include a test-file or a patch to an existing test-file that
       illustrates the bug or desired feature.

Description

       Sub-role of Bread::Board::LifeCycle, this role defines the "singleton" lifecycle for a parameterized
       service. The "get" method will only do its work the first time it is invoked for each set of parameters;
       subsequent invocations with the same parameters will return the same object.

Methods

"get"
       Generates a key using "generate_instance_key" (passing it all the arguments); if the "instances"
       attribute does not hold an object for that key, it will build it (by calling the underlying "get" method)
       and store it in "instances". The object (either retrieved from "instances" or freshly built) will be
       returned.

   "generate_instance_key"
       Generates a (hopefully) unique key from the given arguments (usually, whatever was passed to "get"). The
       current implementation stringifies all arguments, so different references to identical values will be
       considered different.

Name

       Bread::Board::LifeCycle::Singleton::WithParameters - singleton lifecycle role for a parameterized service

Version

       version 0.37

See Also