Bigtop
view release on metacpan or search on metacpan
lib/Bigtop/Parser.pm view on Meta::CPAN
my $self = shift;
shift;
my $data = shift;
return unless ( defined $self->{__IDENT__} );
return [ $self->{__IDENT__} => $self->{__NAME__} ];
}
# if a renamed field is in foreign_display, update it
sub update_foreign_display {
my $self = shift;
shift;
my $data = shift;
return unless $self->{ __TYPE__ } eq 'foreign_display';
my $display = $self->{ __ARGS__ }->get_first_arg;
my $old_display = $display;
if ( $data->{ new_value } ) {
lib/Bigtop/Parser.pm view on Meta::CPAN
shift;
my $data = shift;
return unless ( $data->{ keyword } eq $self->{ __KEYWORD__ } );
return [ $self->{ __DEF__ }{ __ARGS__ } ];
}
# If the old label was the default, the label will be changed to default
# for new name.
sub update_label {
my $self = shift;
my $child_output = shift;
my $data = shift;
return unless $self->{ __KEYWORD__ } eq 'label';
my $field_ident = $self->get_field_ident();
my $old_label = $child_output->[0];
my $old_default_label = Bigtop::ScriptHelp->default_label(
lib/Bigtop/Parser.pm view on Meta::CPAN
my $values = shift;
my $pair_required = shift;
my $self = {
__ARGS__ => arg_list->new( $values, $pair_required ),
};
return bless $self, $class;
}
sub update_label {
my $self = shift;
return [ $self->{ __ARGS__ }->get_first_arg ];
}
sub walk_postorder {
my $self = shift;
my $action = shift;
my $data = shift;
my $parent = shift;
lib/Bigtop/Parser.pm view on Meta::CPAN
$extra_keys = $self->get_method_statement( 'extra_keys' )->{__ARGS__};
}
my $ident = $self->get_ident;
return [
$ident . '::form_name' => $table,
$ident . '::extra_keys' => $extra_keys,
];
}
sub update_field_name {
my $self = shift;
my $child_output = shift;
my $data = shift;
my $count = 0;
# remember that foreach aliases, this loop alters child output
foreach my $key_or_val ( @{ $child_output } ) {
if ( $count % 2 == 0 ) {
$key_or_val = $self->{__IDENT__} . '::' . $key_or_val;
}
lib/Bigtop/Parser.pm view on Meta::CPAN
sub app_block_hashes {
my $self = shift;
return [ {
keyword => $self->{__KEYWORD__},
values => $self->{__ARGS__},
} ];
}
sub update_field_name {
my $self = shift;
shift;
my $data = shift;
unless ( $self->{ __KEYWORD__ } eq 'cols'
or
$self->{ __KEYWORD__ } eq 'all_fields_but'
or
$self->{ __KEYWORD__ } eq 'fields' )
{
lib/Bigtop/Parser.pm view on Meta::CPAN
return $self->{__KEYWORD__};
}
sub get_config_statements {
my $self = shift;
return [ $self->{__KEYWORD__} => $self->{__ARGS__} ];
}
sub update_config_statement {
my $self = shift;
shift;
my $data = shift;
return unless ( $data->{ ident } eq $self->{__PARENT__}->get_ident );
return [] unless ( $data->{ keyword } eq $self->{ __KEYWORD__ } );
my $arg = $self->{__ARGS__}->get_first_arg();
lib/Bigtop/Parser.pm view on Meta::CPAN
sub app_block_hashes {
my $self = shift;
return [ {
keyword => $self->{__KEYWORD__},
value => $self->{__ARGS__}[0],
} ];
}
sub update_config_statement {
my $self = shift;
shift;
my $data = shift;
return unless ( $data->{ ident } eq $self->{__PARENT__}->{__IDENT__} );
return [] unless ( $data->{ keyword } eq $self->{ __KEYWORD__ } );
my $arg = $self->{__ARGS__}->get_first_arg();
lib/Bigtop/TentMaker.pm view on Meta::CPAN
[ 'Init', { __NAME__ => $backend } ];
}
else {
push @{ $config->{__STATEMENTS__} },
[ $type, { __NAME__ => $backend } ];
}
$config->{ $type } = { __NAME__ => $backend };
}
sub update_backends {
my $self = shift;
my $tree = shift;
my $config = $tree->get_config();
# remove old values
foreach my $type ( keys %backends ) {
foreach my $backend ( keys %{ $backends{ $type } } ) {
$backends{ $type }{ $backend }{ in_use } = 0;
$backends{ $type }{ $backend }{ statements } = {};
}
( run in 0.480 second using v1.01-cache-2.11-cpan-95122f20152 )