Jeffrey Ray Hallock > Gapp-App-0.007 > Gapp::App::Role::HasHooks

Download:
Gapp-App-0.007.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.007   Source  

NAME ^

Gapp::App::Role::HasHooks - Role for app with hooks

SYNOPSIS ^

  package Foo::App;
  
  use Moose;

  extends 'Gapp::App';

  with 'Gapp::App::Role::HasHooks';

  sub BUILD {

    ( $self ) = @_;

    $self->register_hook('init');

  }

  sub init {

    $self->call_hook('init');

  }

  ...

  package main;

  $app = Foo::App->new;
  
  $app->hook( 'init', sub { print 'Hello world!' } );

  $app->init;

DESCRIPTION ^

Hooks are named callbacks points in your application. Hooks can be used to add plugin functionality.

PROVIDED ATTRIBUTES ^

hooks

HashRef of Gapp::App::Hook objects.

is rw
isa HashRef
default { }
lazy

PROVIDED METHODS ^

call_hook $hook_name, @params

Will call callbacks for $hook_name, passing in the supplied params. Callbacks are associated with hooks using the hook method.

hook $hook_name, $func, $data

Bind a callback to the given $hook_name.

register_hook $hook_name, %opts?

Register a hook with the application. See <Gapp::App::Hook> for available options.

AUTHORS ^

Jeffrey Ray Hallock <jeffrey.hallock at gmail dot com>

COPYRIGHT & LICENSE ^

Copyright (c) 2010-2012 Jeffrey Ray Hallock.

    This is free software, licensed under:

    The Artistic License 2.0 (GPL Compatible)
syntax highlighting: