plucky (3) Bread::Board::Literal.3pm.gz

Provided by: libbread-board-perl_0.37-2_all bug

NAME

       Bread::Board::Literal - service providing a literal value

VERSION

       version 0.37

SYNOPSIS

         my $c = container PrettyBoring => as {

             # These are Bread::Board::Literal services
             service connect_string => 'dbi:mysql:boring_db';
             service service_url => 'http://api.example.com/v0/boring';

             # And some other services depending on them...

             service dbconn => (
                 class => 'DBI',
                 block => sub {
                     my $s = shift;
                     DBI->new($s->param('connect_string');
                 },
                 dependencies => wire_names(qw( connect_string )),
             );

             service service_request => (
                 class => 'HTTP::Request',
                 block => sub {
                     my $s = shift;
                     HTTP::Request->new(POST => $s->param('service_url'));
                 },
                 dependencies => wire_names(qw( service_url ));
             };
         };

         # OR to use directly:
         my $literal = Bread::Board::Literal->new(
             name  => 'the_answer_to_life_the_universe_and_everything',
             value => 42,
         );
         $c->add_service($literal);

DESCRIPTION

       A literal service is one that stores a literal scalar or reference for use in your Bread::Board.

       Beware of using references in your literals as they may cause your Bread::Board to leak memory. If this
       is a concern, you may want to weaken your references.

       See "weaken" in Scalar::Util.

ATTRIBUTES

   "value"
       Required attribute with read/write accessor. This is the value that "get" will return.

METHODS

   "get"
       Returns the "value", unaltered.

   "clone_and_inherit_params"
       Dies: a literal service is (essentially) a constant, it does not make sense to inherit from it.

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.

       This 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.