Acme-FSM
view release on metacpan or search on metacpan
build_e7BB/Build_iu8t.pm view on Meta::CPAN
# $Id: Build_iu8t.pm 564 2025-02-13 21:33:15Z whynot $
# Copyright 2025 Eric Pozharski <wayside.ultimate@tuta.io>
# GNU LGPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
# eO2h SH1p 3Pc0 fGgY Ij2p tmgb YzD4 | # raoG cYgt Tzc4 aXMI FlnO 87Du nbaT nynH 7bab eESI GSDD Lqhy 5B3x 3fDM ovnH w7ZJ U6vu goUe jFwV uQtY 1e8k WnLZ rMH5 hmfH gL2j EO5k 5hNx 3hQV qS3l ElWZ WqtL BwaS |
use strict;
use warnings;
package Build_iu8t;
use parent qw| Module::Build |;
use version 0.77; our $VERSION = version->declare( v2.3.1 );
# TODO:202502091940:whynot: And now do B<upload> action, plz.
use Carp qw| croak |;
__PACKAGE__->add_property( q|buildq85v_files| => { } );
# FIXME:202502131915:whynot: Instead of B<add_build_element()> it should piggy-back on B<ACTION_docs()>. Too bad.
sub process_buildq85v_files {
=item C<[action]: too many args (%i)>
B<(warning)>, L<B<action()> method|/action()>.
Obvious.
None or one argument is supposed.
=item C<[connect]: (%s): unknow option, ignored>
B<(warning)>, L<B<connect()> method|/connect()>.
Each option that's not known to B<A::F> is ignored and B<carp>ed.
There're no means for child class to force B<A::F> (as a parent class) to
accept something.
Child classes should process their options by itself.
=item C<[connect]: clean init with (%i) items in FST>
B<(basic trace)>, L<B<connect()> method|/connect()>.
During class construction FST has been found.
That FST consists of I<%i> items.
Those items are number of I<$state>s and not I<$state>s plus I<{state}>s.
C<ref $what> (the former I<%s>) is I<%s> (the latter).
=item C<[query]: [query_dumper]: {namespace} !isa defined>
=item C<[query]: [query_source]: {namespace} !isa defined>
=item C<[query]: [query_switch]: {namespace} !isa defined>
B<(croak)>, L<B<query()> method|/query()>.
I<$what> isn't CODE, now to resolve it I<$namespace> is required.
Apparently, it was missing all along.
=item C<[query]: [query_dumper]: {namespace} isa (%s)>
=item C<[query]: [query_source]: {namespace} isa (%s)>
=item C<[query]: [query_switch]: {namespace} isa (%s)>
B<(deep trace)>, L<B<query()> method|/query()>.
C<ref $namespace> is I<%s>.
my $bb = Acme::FSM->connect(
{ namespace => $not_bb },
alpha => {
switch => 'bravo_sc'
}
);
And, finally, B<A::F> implodes upon itself:
package Secret::FSM;
use parent qw/ Acme::FSM /;
sub connect {
my $class = shift;
my $bb = $class->SUPER::connect( @_ );
} # or just skip constructor, if not needed
sub bravo_sf {
shift;
shift % 42, ''
}
t/base/action.t view on Meta::CPAN
# $Id: action.t 481 2013-02-17 02:09:10Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent q|Acme::FSM|;
package main;
use version 0.77; our $VERSION = version->declare( v2.3.1 );
use t::TestSuite qw| :diag :wraps |;
use Test::More tests => 14;
use Acme::FSM;
our( $bb, $rc, $stderr );
t/base/carp.t view on Meta::CPAN
# $Id: carp.t 482 2013-03-08 22:47:45Z whynot $
# Copyright 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent q|Acme::FSM|;
package main;
use version 0.77; our $VERSION = version->declare( v2.3.2 );
use t::TestSuite qw| :diag :wraps |;
use Test::More tests => 6;
use Acme::FSM;
our( $bb, $stderr );
t/base/connect.t view on Meta::CPAN
# $Id: connect.t 481 2013-02-17 02:09:10Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent q|Acme::FSM|;
package main;
use version 0.77; our $VERSION = version->declare( v2.3.1 );
use t::TestSuite qw| :diag :wraps |;
use Test::More tests => 54;
use Acme::FSM;
our( $bb, $bback, $stderr );
t/base/query.t view on Meta::CPAN
# $Id: query.t 482 2013-03-08 22:47:45Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent qw| Acme::FSM |;
sub shift_shift {
my $bb = shift @_;
$bb->{bull} = shift @main::flags;
$bb->{shambles} = shift @_ if @_;
shift @main::flags }
package t::TestSuite::havoc;
sub new { bless { }, shift @_ }
t/base/query_dumper.t view on Meta::CPAN
# $Id: query_dumper.t 482 2013-03-08 22:47:45Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent qw| Acme::FSM |;
sub shift_shift {
my $bb = shift @_;
$bb->{matrixone} = shift @main::flags;
$bb->{CSSC} = shift @_ if @_;
shift @main::flags }
package t::TestSuite::dumper;
sub new { bless { }, shift @_ }
t/base/query_source.t view on Meta::CPAN
# $Id: query_source.t 482 2013-03-08 22:47:45Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent qw| Acme::FSM |;
sub shift_shift {
my $bb = shift @_;
$bb->{Ashevill_pm} = shift @main::flags;
$bb->{Anchorage_pm} = shift @_ if @_;
shift @main::flags }
package t::TestSuite::source;
sub new { bless { }, shift @_ }
t/base/query_switch.t view on Meta::CPAN
# $Id: query_switch.t 484 2013-05-09 20:56:46Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent qw| Acme::FSM |;
sub push_push {
my $bb = shift @_;
$bb->{MKS} = shift @main::flags;
$bb->{CS_RCS} = shift @_ if @_;
return !0, shift @main::flags }
package t::TestSuite::switch;
sub new { bless { }, shift @_ }
t/base/state.t view on Meta::CPAN
# $Id: state.t 481 2013-02-17 02:09:10Z whynot $
# Copyright 2012, 2013 Eric Pozharski <whynot@pozharski.name>
# GNU GPLv3
# AS-IS, NO-WARRANTY, HOPE-TO-BE-USEFUL
use strict;
use warnings;
package t::TestSuite::FSM;
use parent q|Acme::FSM|;
package main;
use version 0.77; our $VERSION = version->declare( v2.3.1 );
use t::TestSuite qw| :diag :wraps |;
use Test::More tests => 10;
use Acme::FSM;
our( $bb, $rc, $stderr );
( run in 0.316 second using v1.01-cache-2.11-cpan-4d50c553e7e )