|
NAMEBread::Board::Types - types and coercions for Bread::BoardVERSIONversion 0.37DESCRIPTIONThis package defines types and coercions for Bread::Board.TYPES"Bread::Board::Container::SubContainerList"A hashref mapping strings to instances of Bread::Board::Container or Bread::Board::Container::Parameterized.Can be coerced from an arrayref of containers: the keys will be the containers' names. "Bread::Board::Container::ServiceList"A hashref mapping strings to instances of Bread::Board::Service.Can be coerced from an arrayref of services: the keys will be the services' names. "Bread::Board::Service::Dependencies"Hashref mapping strings to instances of Bread::Board::Dependency.The values of the hashref can be coerced in several different ways:
Instead of a hashref of any of the above things, you can use an arrayref: it will be coerced to hashref, using the (coerced) dependencies' names as keys. Examples service foo => ( class => 'Foo', dependencies => { { bar => { attribute => 12 } }, }, ); The service "foo" depends on the parameterized service "bar", and "bar" will be instantiated passing the hashref "{ attribute => 12 }" to its "get" method. service foo => ( class => 'Foo', dependencies => { things => [ 'bar', 'baz' ], }, ); The service "foo" depends on the services "bar" and "baz", and when instantiating "foo", its constructor will receive something like "things => [ $instance_of_bar, $instance_of_baz ]". service foo => ( class => 'Foo', dependencies => { things => [ { bar => { attribute => 12 } }, { bar => { attribute => 27 } }, ], }, ); You can mix&match the coercions! This "foo" will get two different instances of "bar" in its "things" attribute, each "bar" instantiated with a different value. "Bread::Board::Service::Parameters"Hashref mapping strings to MooseX::Params::Validate specifications.Can be coerced from an arrayref of strings: [qw(a b c)] becomes: { a => { optional => 0 }, b => { optional => 0 }, c => { optional => 0 }, } AUTHORStevan Little <stevan@iinteractive.com>BUGSPlease report any bugs or feature requests on the bugtracker website https://github.com/stevan/BreadBoard/issuesWhen 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. COPYRIGHT AND LICENSEThis software is copyright (c) 2019, 2017, 2016, 2015, 2014, 2013, 2011, 2009 by Infinity Interactive.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Visit the GSP FreeBSD Man Page Interface. |