| MooseX-Declare documentation | Contained in the MooseX-Declare distribution. |
MooseX::Declare::StackItem
This software is copyright (c) 2010 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| MooseX-Declare documentation | Contained in the MooseX-Declare distribution. |
package MooseX::Declare::StackItem; BEGIN { $MooseX::Declare::StackItem::AUTHORITY = 'cpan:FLORA'; } BEGIN { $MooseX::Declare::StackItem::VERSION = '0.34'; } use Moose; use namespace::clean -except => 'meta'; use overload '""' => 'as_string', fallback => 1; has identifier => ( is => 'rw', isa => 'Str', required => 1, ); has handler => ( is => 'ro', required => 1, default => '', ); has is_dirty => ( is => 'ro', isa => 'Bool', ); has is_parameterized => ( is => 'ro', isa => 'Bool', ); has namespace => ( is => 'ro', isa => 'Str|Undef', ); sub as_string { my ($self) = @_; return $self->identifier; } sub serialize { my ($self) = @_; return sprintf '%s->new(%s)', ref($self), join ', ', map { defined($_) ? "q($_)" : 'undef' } 'identifier', $self->identifier, 'handler', $self->handler, 'is_dirty', ( $self->is_dirty ? 1 : 0 ), 'is_parameterized', ( $self->is_parameterized ? 1 : 0 ), 'namespace', $self->namespace, ; } __PACKAGE__->meta->make_immutable; 1; __END__