/usr/share/perl5/Magpie/Component.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 | package Magpie::Component;
$Magpie::Component::VERSION = '1.141660';
# ABSTRACT: Base Class For All Magpie Pipeline Components
use Moose;
use Magpie::Constants;
use Magpie::Breadboard;
with qw(Magpie::Event MooseX::Traits);
has '+_trait_namespace' => ( default => 'Magpie::Plugin' );
has breadboard => (
is => 'rw',
isa => 'Magpie::Breadboard',
default => sub { Magpie::Breadboard->new(); },
lazy => 1,
handles => [
qw( add_asset assets resolve_asset internal_assets resolve_internal_asset)
],
);
sub default_symbol_table {
$_[0]->resolve_internal_asset( service => 'symbol_table' );
}
sub init_symbols {
my ( $self, $context ) = @_;
my @events = ();
my %processed_events = ();
my @self_and_ancestors = $self->meta->linearized_isa;
# need the full list to cover overridden methods not registered (via register_events()) in component subclasses.
foreach my $obj (@self_and_ancestors) {
next unless $obj->can('registered_events');
push @events, $obj->registered_events;
}
foreach my $obj ( $self->meta->linearized_isa ) {
for ( my $i = 0; $i < scalar @events; $i++ ) {
next if ref( $events[$i] ) eq 'CODE';
next if defined $processed_events{ $events[$i] };
if ( ref( $events[ $i + 1 ] ) eq 'CODE' ) {
$self->add_symbol_handler( $events[$i] => $events[ $i + 1 ] );
$processed_events{ $events[$i] }++;
}
elsif ( my $ref = $obj->can( $events[$i] ) ) {
$self->add_symbol_handler( $events[$i] => $ref );
$processed_events{ $events[$i] }++;
}
}
}
}
# SEEALSO: Magpie, Magpie::Resource, Magpie::Transformer
1;
=pod
=head1 NAME
Magpie::Component - Base Class For All Magpie Pipeline Components
=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
__END__
|