/usr/share/perl5/Magpie/Breadboard.pm is in libmagpie-perl 1.141660-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | package Magpie::Breadboard;
$Magpie::Breadboard::VERSION = '1.141660';
use Moose;
# ABSTRACT: Bread::Board Container For Pipeline Assets
use Bread::Board;
use Bread::Board::Dumper;
extends 'Bread::Board::Container';
has '+name' => ( default => 'Application' );
sub BUILD {
my $self = shift;
container $self => as {
container 'Assets' => as {};
container 'MagpieInternal' => as {
service 'default_resource' => (
lifecycle => 'Singleton',
block => sub {
my $s = shift;
Magpie::Resource::Abstract->new;
}
);
service 'symbol_table' => (
lifecycle => 'Singleton',
block => sub {
my $s = shift;
Magpie::SymbolTable->new;
}
);
};
};
}
sub internal_assets {
return shift->get_sub_container('MagpieInternal');
}
sub assets {
my $self = shift;
if ( my $new_container = shift ) {
delete $self->sub_containers->{'Assets'};
$new_container->name('Assets');
$self->add_sub_container( $new_container );
}
return $self->get_sub_container('Assets');
}
sub add_asset {
my $self = shift;
my $thing = shift;
my $assets = $self->get_sub_container('Assets');
if ( blessed $thing ) {
if ( $thing->isa('Bread::Board::Container') || $thing->isa('Bread::Board::Container::Parmeterized')) {
$assets->add_sub_container( $thing );
}
elsif ( $thing->does('Bread::Board::Service') ) {
$assets->add_service( $thing );
}
else {
confess "add_asset requires a type => typemap pair, service, or container."
}
}
elsif ($_[0] and blessed($_[0]) and $_[0]->isa('Bread::Board::Typemap')){
$assets->add_type_mapping( $thing => $_[0] );
}
else {
}
}
sub resolve_internal_asset {
return shift->internal_assets->resolve( @_ );
}
sub resolve_asset {
return shift->assets->resolve( @_ );
}
# SEEALSO: Magpie, Bread::Board
1;
__END__
=pod
=head1 NAME
Magpie::Breadboard - Bread::Board Container For Pipeline Assets
=head1 VERSION
version 1.141660
=head1 AUTHORS
=over 4
=item *
Kip Hampton <kip.hampton@tamarou.com>
=item *
Chris Prather <chris.prather@tamarou.com>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Tamarou, LLC.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|