| Markdent documentation | Contained in the Markdent distribution. |
Markdent::CapturedEvents - Represents a series of captured events
version 0.17
This represents a series of captured parser events, and can be used to replay them with a handle.
This class provides the following methods:
Creates a new Markdent::CapturedEvents object.
Returns the captured events as an array.
Captures one or more events.
Given an object which does the Markdent::Role::Handler role, this method will replay all the captured events to that handler.
See Markdent for bug reporting details.
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2010 by Dave Rolsky.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Markdent documentation | Contained in the Markdent distribution. |
package Markdent::CapturedEvents; BEGIN { $Markdent::CapturedEvents::VERSION = '0.17'; } use strict; use warnings; use Markdent::Types qw( ArrayRef EventObject ); use MooseX::Params::Validate qw( pos_validated_list ); use namespace::autoclean; use Moose; use MooseX::StrictConstructor; has _events => ( is => 'ro', isa => ArrayRef[EventObject], init_arg => 'events', default => sub { [] }, ); sub events { @{ $_[0]->_events() }; } sub capture_events { my $self = shift; my @events = pos_validated_list( \@_, ( { does => 'Markdent::Role::Event' } ) x ( @_ ? @_ : 1 ), MX_PARAMS_VALIDATE_NO_CACHE => 1, ); push @{ $self->_events() }, @_; } sub replay_events { my $self = shift; my ($handler) = pos_validated_list( \@_, { does => 'Markdent::Role::Handler' } ); $handler->handle_event($_) for $self->events(); } __PACKAGE__->meta()->make_immutable(); 1; # ABSTRACT: Represents a series of captured events
__END__