NAME
Yeb - A simple structure for Web::Simple applications
VERSION
version 0.101
SYNOPSIS
package MyApp::Web;
use Yeb;
BEGIN {
plugin 'Session';
plugin 'JSON';
}
r "/" => sub {
session test => pa('test');
text "root";
};
r "/blub" => sub {
text "blub";
};
r "/test/..." => sub {
st stash_var => 1;
chain 'Test';
};
r "/blog/..." => sub {
chain '+SomeOther::YebApp';
};
1;
package MyApp::Web::Test;
use MyApp::Web;
r "/json" => sub {
json {
test => session('test'),
stash_var => st('stash_var'),
}
};
r "/" => sub {
text " test = ".session('test')." and blub is ".st('stash_var');
};
1;
Can then be started like (see Web::Simple):
plackup -Ilib -MMyApp::Web -e'MyApp::Web->run_if_script'
or use the yeb CLI tool which automatically also loads up ./lib as path for easy handling:
yeb MyApp::Web
Additional parameters get dispatched towards plackup
Bigger Text::Xslate example:
package MyApp::WebXslate;
use Yeb;
BEGIN {
plugin 'Session';
plugin 'JSON';
plugin 'Xslate';
plugin 'Static', default_root => root('htdocs');
}
xslate_path root('templates');
static qr{^/};
static_404 qr{^/images/}, root('htdocs_images');
r "/" => sub {
st page => 'root';
xslate 'index';
};
r "/test" => sub {
st page => 'test';
xslate 'index/test', { extra_var => 'extra' };
};
1;
DESCRIPTION
WARNING
ALPHA This web framework is made to be used for YACT, a new version of the Act conference system. With the release of YACT the API will be stabilized. ALPHA
PLUGINS
For an example on how to make a simple plugin, which adds a new function and uses a Plack::Middleware, please see the source of Yeb::Plugin::Session.
FRAMEWORK FUNCTIONS
yeb
Gives back the Yeb::Application of the web application
chain
Return another class dispatcher chain, will be prepend with your main class name, this can be deactivated by using a + in front of the class name.
cfg
Access to the configuration hash
cc
Getting the current Yeb::Context of the request
env
Getting the Plack environment
req
Getting the current Plack::Request
root
Current directory or YEB_ROOT environment variable
cur
Current directory in the moment of start
plugin $yeb_plugin_name, { key => $value };
st
Access to the stash hash
pa
Access to the request parameters, gives back "" if is not set
pa_has
Check if some parameter is at all set
r
Adding a new dispatcher for this class (see Web::Simple)
middleware
Adding a Plack::Middleware to the flow
text
Make a simple text/plain response with the text given as parameter
SEE ALSO
- Yeb::Plugin::Session
-
Session management via Plack::Middleware::Session
- Yeb::Plugin::Static
-
Static files via Plack::Middleware::Static
- Yeb::Plugin::Xslate
-
Template output via Text::Xslate
- Yeb::Plugin::JSON
-
JSON output via JSON
SUPPORT
IRC
Join #web-simple on irc.perl.org. Highlight Getty for fast reaction :).
Repository
http://github.com/Getty/p5-yeb
Pull request and additional contributors are welcome
Issue Tracker
http://github.com/Getty/p5-yeb/issues
AUTHOR
Torsten Raudssus <torsten@raudss.us>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.