Acme-Mitey-Cards
view release on metacpan or search on metacpan
lib/Acme/Mitey/Cards/MOP.pm view on Meta::CPAN
package Acme::Mitey::Cards::MOP;
use Moose ();
use Moose::Util ();
use Moose::Util::MetaRole ();
use Moose::Util::TypeConstraints ();
use constant { true => !!1, false => !!0 };
my $META_CLASS = do {
package Acme::Mitey::Cards::MOP::Meta::Class;
use Moose;
extends 'Moose::Meta::Class';
around _immutable_options => sub {
my ( $next, $self, @args ) = ( shift, shift, @_ );
return $self->$next( replace_constructor => 1, @args );
};
__PACKAGE__->meta->make_immutable;
__PACKAGE__;
};
my $META_ROLE = do {
package Acme::Mitey::Cards::MOP::Meta::Role;
use Moose;
extends 'Moose::Meta::Role';
my $built_ins = qr/\A( DOES | does | __META__ | __FINALIZE_APPLICATION__ |
CREATE_CLASS | APPLY_TO )\z/x;
around get_method => sub {
my ( $next, $self, $method_name ) = ( shift, shift, @_ );
return if $method_name =~ $built_ins;
return $self->$next( @_ );
};
around get_method_list => sub {
my ( $next, $self ) = ( shift, shift );
return grep !/$built_ins/, $self->$next( @_ );
};
around _get_local_methods => sub {
my ( $next, $self ) = ( shift, shift );
my %map = %{ $self->_full_method_map };
return map $map{$_}, $self->get_method_list;
};
__PACKAGE__->meta->make_immutable;
__PACKAGE__;
};
require "Acme/Mitey/Cards/Card.pm";
{
my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Card", package => "Acme::Mitey::Cards::Card" );
my %ATTR;
$ATTR{"deck"} = Moose::Meta::Attribute->new( "deck",
__hack_no_process_options => true,
associated_class => $PACKAGE,
definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card.pm", line => "9", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
is => "ro",
weak_ref => true,
init_arg => "deck",
required => false,
type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::Deck() },
reader => "deck",
);
{
my $ACCESSOR = Moose::Meta::Method::Accessor->new(
accessor_type => 'reader',
attribute => $ATTR{"deck"},
name => "deck",
body => \&Acme::Mitey::Cards::Card::deck,
package_name => "Acme::Mitey::Cards::Card",
definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::deck", file => "lib/Acme/Mitey/Cards/Card.pm", line => "9", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" }...
);
$ATTR{"deck"}->associate_method( $ACCESSOR );
$PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
}
do {
no warnings 'redefine';
local *Moose::Meta::Attribute::install_accessors = sub {};
$PACKAGE->add_attribute( $ATTR{"deck"} );
};
$ATTR{"reverse"} = Moose::Meta::Attribute->new( "reverse",
__hack_no_process_options => true,
associated_class => $PACKAGE,
definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card.pm", line => "19", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
is => "ro",
weak_ref => false,
init_arg => "reverse",
required => false,
type_constraint => do { require Types::Standard; Types::Standard::Str() },
reader => "reverse",
builder => "_build_reverse",
lazy => true,
);
{
my $ACCESSOR = Moose::Meta::Method::Accessor->new(
accessor_type => 'reader',
attribute => $ATTR{"reverse"},
name => "reverse",
body => \&Acme::Mitey::Cards::Card::reverse,
package_name => "Acme::Mitey::Cards::Card",
definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::reverse", file => "lib/Acme/Mitey/Cards/Card.pm", line => "19", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "clas...
( run in 0.362 second using v1.01-cache-2.11-cpan-ceb78f64989 )