The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Ado::Plugin::AdoHelpers - Default Ado helpers plugin

SYNOPSIS

  # Ado
  $self->plugin('AdoHelpers');

  # Mojolicious::Lite
  plugin 'AdoHelpers';

DESCRIPTION

Ado::Plugin::AdoHelpers is a collection of renderer helpers for Ado.

This is a core plugin, that means it is always enabled and its code a good example for learning to build new plugins, you're welcome to fork it.

See "PLUGINS" in Ado::Manual::Plugins for a list of plugins that are available by default.

HELPERS

Ado::Plugin::AdoHelpers implements the following helpers.

to_json

  my $chars = $c->to_json({name =>'Петър',id=>2});
  $c->stash(user_as_js => $chars);
  # in a javascript chunk of a template
  var user = <%== $user_as_js %>;
  var user_group_names = <%== to_json([user->ingroup]) %>;

Suitable for preparing JavaScript objects from Perl references that will be used from stash and in templates.

user

Returns the current user. This is the user guest for not authenticated users. This helper is a wrapper for "user" in Ado::Control.

  $c->user(Ado::Model::Users->query("SELECT * from users WHERE login_name='guest'"));
  #in a controller action:
  my $current_user = $c->user;
  #in a template:
  <h1>Hello, <%=user->name%>!</h1>

METHODS

Ado::Plugin::AdoHelpers inherits all methods from Ado::Plugin and implements the following new ones.

register

  $plugin->register(Ado->new);

Register helpers in Ado application.

SEE ALSO

Ado::Plugin, Mojolicious::Plugins, Mojolicious::Plugin,

AUTHOR

Красимир Беров (Krasimir Berov)

COPYRIGHT AND LICENSE

Copyright 2013-2014 Красимир Беров (Krasimir Berov).

This program is free software, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License v3 (LGPL-3.0). You may copy, distribute and modify the software provided that modifications are open source. However, software that includes the license may release under a different license.

See http://opensource.org/licenses/lgpl-3.0.html for more information.