I have the following code in my Dancer application module:
package Deadlands; use Dancer ':syntax'; use Dice; our $VERSION = '0.1'; get '/' => sub { my ($dieQty, $dieType); $dieQty = param('dieQty'); $dieType = param('dieType'); if (defined $dieQty && defined $dieType) { return Dice->new(dieType => $dieType, dieQty => $dieQty)->getStandardResult(); } template 'index'; }; true;
I have a Moops class called Dice.pm that works fine if I test it with a .pl file, but when I try to access it through a web browser, I get the following error: Can not find the object method "new "via the" Dice "package (maybe you forgot to download" Dice "?) .
Can I do it with Dancer?
Here is the relevant code from Dice.pm:
use 5.14.3; use Moops; class Dice 1.0 { has dieType => (is => 'rw', isa => Int, required => 1); has dieQty => (is => 'rw', isa => Int, required => 1); has finalResult => (is => 'rw', isa => Int, required => 0); method getStandardResult() { $self->finalResult(int(rand($self->dieType()) + 1)); return $self->finalResult(); } }
source share