Update POD
authorMarius Gavrilescu <marius@ieval.ro>
Fri, 16 May 2014 16:03:43 +0000 (19:03 +0300)
committerMarius Gavrilescu <marius@ieval.ro>
Fri, 16 May 2014 16:03:43 +0000 (19:03 +0300)
lib/Gruntmaster/Data.pm

index e8dfbd989a2b84e513e914bb08ded7013d7ae6ca..2939edb2be5a70d2af80bc8ebe6c3668d88f25d3 100644 (file)
@@ -48,11 +48,76 @@ Gruntmaster::Data - Gruntmaster 6000 Online Judge -- database interface and tool
 =head1 SYNOPSIS
 
   my $db = Gruntmaster::Data->connect('dbi:Pg:');
-  # Typical DBIC stuff here
+
+  my $problem = $db->problem('my_problem');
+  $problem->update({timeout => 2.5}); # Set time limit to 2.5 seconds
+  $problem->rerun; # And rerun all jobs for this problem
+
+  # ...
+
+  my $contest = $db->contests->create({ # Create a new contest
+    id => 'my_contest',
+    name => 'My Awesome Contest',
+    start => time + 100,
+    end => time + 1900,
+  });
+  $db->contest_problems->create({ # Add a problem to the contest
+    contest => 'my_contest',
+    problem => 'my_problem',
+  });
+
+  say 'The contest has not started yet' if $contest->is_pending;
+
+  # ...
+
+  my @jobs = $db->jobs->search({contest => 'my_contest', owner => 'MGV'})->all;
+  $_->rerun for @jobs; # Rerun all jobs sent by MGV in my_contest
 
 =head1 DESCRIPTION
 
-No documentation (yet)
+Gruntmaster::Data is the interface to the Gruntmaster 6000 database. Read the L<DBIx::Class> documentation for usage information.
+
+In addition to the typical DBIx::Class::Schema methods, this module contains several convenience methods:
+
+=over
+
+=item contests
+
+Equivalent to C<< $schema->resultset('Contest') >>
+
+=item contest_problems
+
+Equivalent to C<< $schema->resultset('ContestProblem') >>
+
+=item jobs
+
+Equivalent to C<< $schema->resultset('Job') >>
+
+=item problems
+
+Equivalent to C<< $schema->resultset('Problem') >>
+
+=item users
+
+Equivalent to C<< $schema->resultset('User') >>
+
+=item contest($id)
+
+Equivalent to C<< $schema->resultset('Contest')->find($id) >>
+
+=item job($id)
+
+Equivalent to C<< $schema->resultset('Job')->find($id) >>
+
+=item problem($id)
+
+Equivalent to C<< $schema->resultset('Problem')->find($id) >>
+
+=item user($id)
+
+Equivalent to C<< $schema->resultset('User')->find($id) >>
+
+=back
 
 =head1 AUTHOR
 
This page took 0.012114 seconds and 4 git commands to generate.