data_type: 'text'
is_nullable: 1
+=head2 writer
+
+ data_type: 'text'
+ is_nullable: 1
+
=head2 generator
data_type: 'enum'
{ data_type => "text", is_nullable => 0 },
"author",
{ data_type => "text", is_nullable => 1 },
+ "writer",
+ { data_type => "text", is_nullable => 1 },
"generator",
{
data_type => "enum",
__PACKAGE__->many_to_many("contests", "contest_problems", "contest");
-# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-26 15:24:46
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QeM8iOMQE3lqG2tXKbpRxw
+# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-30 12:59:34
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ujwyMJ5Pup1i5NKXkPkg2g
+
+sub is_private {
+ my ($self, $time) = @_;
+ return 1 if $self->private;
+ grep { $_->contest->is_pending($time) } $self->contest_problems;
+}
+sub is_in_archive {
+ my ($self, $time) = @_;
+ 0 == grep { $_->contest->is_running($time) } $self->contest_problems;
+}
+
+sub rerun {
+ $_->rerun for shift->jobs
+}
-# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
+
+__END__
+
+=head1 METHODS
+
+=head2 is_private(I<[$time]>)
+
+Returns true if the problem is private at time I<$time> (which defaults to C<time>).
+
+=head2 is_in_archive(I<[$time]>)
+
+Returns true if the problem is in the archive at time I<$time> (which defaults to C<time>).
+
+=head2 rerun
+
+Reruns all jobs for this problem.
+
+=head1 AUTHOR
+
+Marius Gavrilescu E<lt>marius@ieval.roE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2014 by Marius Gavrilescu
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself, either Perl version 5.18.1 or,
+at your option, any later version of Perl 5 you may have available.
+
+
+=cut