Gluu fer the Wëëbb Part 2
Well in my first post of this series I just managed to get a listing up and running utilizing the Toto plugin well lets move on a little.
Well it seems I have my list and the underlying urls I have 'http://localhost:3000/character/view/Glarp_Gnlnarn' which is correct but of course it is not a 100% 'REST' as I think that by convention 'character' should be the plural 'characters' but then again in the POD they say this is a BREAD interface not a REST and the author defines it as
'- in a BREAD application, browse and add are operations on zero or many objects, while edit, add, and delete are operations on one object'
Ok I can buy that so back to doing some code.
Well back to doing a little coding.
So this time out I again start with my route and sub
get '/character/view/:name' => sub {
my $self = shift;
use MooseX::YAML;
my $name = $self->param('name');
my $character = MooseX::YAML::LoadFile('D:\\blogs\\mymoose\\'.$name.".yml");
$self->stash(character =>$character);
} => "/character/view";
Oh course now I get to use that nifty MooseX from this post and that saves me a good deal of time. All I am doing here is using some mojo route shorthand with the ':name' as the wildcard and I get it from the prams and use my nifty MooseX to instantiate my Character and then I stuff it in the stash for use on the template
Now this time out I didn't forget to create a template and here it is
@@ character/view.html.ep
You Characters
<table>
<tr>
<td>Name:</td><td><%=$character->name()%></td>>
</tr>
<tr>
<td>Strength:</td><td><%=$character->strength()%>
% if ($character->can('exceptional')) {
(<%=$character->exceptional %>)
%}
</td>
</tr>
<tr>
<td>Intelligence:</td><td><%=$character->intelligence()%></td>
</tr>
<tr>
<td>Wisdom:</td><td><%=$character->wisdom()%></td>
</tr>
<tr>
<td>Dexterity:</td><td><%=$character->dexterity()%></td>
</tr>
<tr>
<td>Constitution:</td><td><%=$character->constitution()%></td>
</tr>
<tr>
<td>Charisma:</td><td><%=$character->charisma()%></td>
</tr>
</table>
simple enough I just list all the attributes with my $character that is already in the stash I even check to see if my character has exceptional strength
and I give it a go and get this
Opps missing that menu bar again.
Perhaps this will fix it
get '/character/view/:name' => { nav_item => 'character\view' } => sub {
and it dose as now I get this
On to better things tomorrow
Leave a comment