]> iEval git - gruntmaster-data.git/blobdiff - lib/Gruntmaster/Data.pm
Switch to JSON::MaybeXS
[gruntmaster-data.git] / lib / Gruntmaster / Data.pm
index e8ce571cba8c3b378300f18e965c36afb34e9e88..a12e476d8036064cb1c77c708b9a25388e1ba8c4 100644 (file)
@@ -15,10 +15,10 @@ __PACKAGE__->load_namespaces;
 # Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-05 13:11:39
 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dAEmtAexvUaNXLgYz2rNEg
 
-our $VERSION = '5999.000_008';
+our $VERSION = '5999.000_009';
 
 use Lingua::EN::Inflect qw/PL_N/;
-use JSON qw/decode_json/;
+use JSON::MaybeXS qw/decode_json/;
 use List::Util qw/sum/;
 use PerlX::Maybe qw/maybe/;
 use Sub::Name qw/subname/;
@@ -85,7 +85,7 @@ sub standings {
                my $user = $_;
                +{
                        user => $self->user($user),
-                       score => sum (values $scores{$user}),
+                       score => sum (values %{$scores{$user}}),
                        scores => [map { $scores{$user}{$_->id} // '-'} @problems],
                        problems => $ct,
                }
@@ -116,7 +116,7 @@ sub problem_list {
        $params{contest} = $args{contest} if $args{contest};
        for ($rs->all) {
                $params{$_->level} //= [];
-               push $params{$_->level}, {$_->get_columns, owner_name => $_->owner->name} ;
+               push @{$params{$_->level}}, {$_->get_columns, owner_name => $_->owner->name} ;
        }
        \%params
 }
@@ -144,7 +144,7 @@ sub contest_list {
        for ($rs->all) {
                my $state = $_->is_pending ? 'pending' : $_->is_running ? 'running' : 'finished';
                $params{$state} //= [];
-               push $params{$state}, { $_->get_columns, started => !$_->is_pending, owner_name => $_->owner->name };
+               push @{$params{$state}}, { $_->get_columns, started => !$_->is_pending, owner_name => $_->owner->name };
        }
        \%params
 }
This page took 0.022744 seconds and 4 git commands to generate.