---
name: "Markdent::Role::EventsAsMethods"
section: "3pm"
platform: "linux"
package: "libmarkdent-perl"
version: "0.40-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Markdent::Role::EventsAsMethods"
---

# Markdent::Role::EventsAsMethods(3pm)

Turns events into method calls

## NAME

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

## VERSION

version 0.40

## DESCRIPTION

This role takes an object which does Markdent::Role::Event role and turns it into a method call.

## METHODS

This role provides the following methods:

### $object-\>handle\_event($event)

Given an object which does Markdent::Role::Event role, this method makes a method call on `$object` based on the event's name.

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 Markdent::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

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

## BUGS

See Markdent for bug reporting details.

Bugs may be submitted at \<https://github.com/houseabsolute/Markdent/issues\>.

I am also usually active on IRC as 'autarch' on `"irc://irc.perl.org"`.

## SOURCE

The source code repository for Markdent can be found at \<https://github.com/houseabsolute/Markdent\>.

## AUTHOR

Dave Rolsky \<autarch@urth.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2021 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.

The full text of the license can be found in the *LICENSE* file included with this distribution.
