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::Traversable - role for traversing a container service tree

Attributes

"parent"
       Weak ref to another Bread::Board::Traversable object, read/write accessor (although you should probably
       not change this value directly in normal code).

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

       This role provides the basic functionality to traverse a container / service tree. Instances of classes
       consuming this role will get a parent-child relationship between them.

Methods

"has_parent"
       Predicate for the "parent" attribute, true if a parent has been set.

   "detach_from_parent"
       Clearer for the "parent" attribute, you should probably not call this method in normal code.

   "get_root_container"
       Returns the farthest ancestor of the invocant, i.e. the top-most container this object is a part of.

   "fetch"
         my $service = $this->fetch('/absolute/path');
         my $service = $this->fetch('relative/path');
         my $service = $this->fetch('../relative/path');

       Given a (relative or absolute) path to a service or container, this method walks the tree and returns the
       Bread::Board::Service or Bread::Board::Container instance for that path. Dies if no object can be found
       for the given path.

       Aliases are resolved in this call, by calling "aliased_from" until we get an actual service.

Name

       Bread::Board::Traversable - role for traversing a container service tree

Synopsis

         my $service = $container->fetch('/some/service/path');

         my $root = $service->get_root_container;

Version

       version 0.37

See Also