Markdent::Role::EventsAsMethods - Turns events into method calls


Markdent documentation Contained in the Markdent distribution.

Index


Code Index:

NAME

Top

Markdent::Role::EventsAsMethods - Turns events into method calls

VERSION

Top

version 0.17

DESCRIPTION

Top

This role takes a Markdent::Event object and turns it into a method call.

METHODS

Top

This role provides the following methods:

$object->handle_event($event)

This takes a Markdent::Event object and turns it into a method call on the object.

The method name is the same as the value of $event->event_name(). The hash reference returned by $event->attributes() is turned into a set of named parameters for the method. However, any keys starting with "!" in the attributes will not be passed to the method.

So, for example, a Markdown::Event::StartLink event turns into a method call like this:

  $handler->start_link(
      uri            => $event->uri(),
      title          => $title,                     # optional
      id             => $id,                        # optional
      is_implicit_id => $event->is_implicit_id(),
  );

ROLES

Top

This role does the Markdent::Role::Handler role.

BUGS

Top

See Markdent for bug reporting details.

AUTHOR

Top

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

Top


Markdent documentation Contained in the Markdent distribution.

package Markdent::Role::EventsAsMethods;
BEGIN {
  $Markdent::Role::EventsAsMethods::VERSION = '0.17';
}

use strict;
use warnings;

use Scalar::Util qw( blessed );

use namespace::autoclean;
use Moose::Role;

with 'Markdent::Role::Handler';

sub handle_event {
    my $self  = shift;
    my $event = shift;

    my $meth = $event->event_name();

    $self->$meth( $event->kv_pairs_for_attributes() );
}

1;

# ABSTRACT: Turns events into method calls




__END__