| version 1.4, 2010/06/26 17:16:08 |
version 1.7, 2010/06/27 04:26:56 |
|
|
| #!/usr/bin/env perl |
#!/usr/bin/env perl |
| |
|
| |
use 5.010; |
| |
|
| |
BEGIN { |
| |
use FindBin; |
| |
use lib "$FindBin::Bin/../lib"; |
| |
use lib "$FindBin::Bin/../mojo/lib"; |
| |
use lib "$FindBin::Bin/../../mojo/lib"; |
| |
} |
| |
|
| use Mojolicious::Lite; |
use Mojolicious::Lite; |
| use Mojo::JSON; |
use Mojo::JSON; |
| |
|
| use Data::Dumper; |
|
| |
|
| use 5.010; |
|
| |
|
| app->renderer->add_helper( |
app->renderer->add_helper( |
| action => sub { |
action => sub { |
| my ( $self, $action ) = @_; |
my ( $self, $action ) = @_; |
| |
|
| state %Actions; |
state %Actions; |
| |
|
| my $path = app->home->rel_file( 'data/' . $action ); |
my $path = app->home->rel_file( '../t/data/' . $action ); |
| |
|
| return if ! -e $path; |
return if !-e $path; |
| my $mtime = ( stat _ )[9]; |
my $mtime = ( stat _ )[9]; |
| |
|
| $Actions{$action}{mtime} //= 0; |
$Actions{$action}{mtime} //= 0; |
|
|
| return if !ref $data; |
return if !ref $data; |
| |
|
| my @data = @{$data}; |
my @data = @{$data}; |
| foreach my $param ( $self->param ) { |
|
| my $value = $self->param($param); |
my $p = $self->req->params->to_hash; |
| @data = grep { ( !exists $_->{$param} ) || $value ~~ $_->{$param} } |
while ( my ( $param, $value ) = each(%$p) ) { |
| @data; |
@data = grep { |
| |
ref $_ ne 'HASH' |
| |
|| ( !exists $_->{$param} ) |
| |
|| $value ~~ $_->{$param} |
| |
} @data; |
| } |
} |
| |
|
| $self->render_json( \@data ); |
$self->render_json( \@data ); |
| }; |
}; |
| |
|