projects
/
gruntmaster-data.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c298750
)
Purge affected pages on insert/update/delete
author
Marius Gavrilescu
<marius@ieval.ro>
Sat, 20 Dec 2014 14:41:39 +0000
(16:41 +0200)
committer
Marius Gavrilescu
<marius@ieval.ro>
Sat, 20 Dec 2014 14:57:42 +0000
(16:57 +0200)
Makefile.PL
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/Contest.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/ContestProblem.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/ContestStatus.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/Job.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/Open.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/Problem.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/ProblemStatus.pm
patch
|
blob
|
blame
|
history
lib/Gruntmaster/Data/Result/User.pm
patch
|
blob
|
blame
|
history
diff --git
a/Makefile.PL
b/Makefile.PL
index 6d1dc29bebfd877454331ba44dbb79f91fca2359..86e6c32b75e7de05d398b2c166dc698e984023b9 100644
(file)
--- a/
Makefile.PL
+++ b/
Makefile.PL
@@
-18,6
+18,7
@@
WriteMakefile(
Authen::Passphrase 0
Authen::Passphrase::BlowfishCrypt 0
Authen::Passphrase 0
Authen::Passphrase::BlowfishCrypt 0
+ Class::Method::Modifiers 0
Date::Parse 0
DBIx::Class 0
File::Slurp 0
Date::Parse 0
DBIx::Class 0
File::Slurp 0
diff --git
a/lib/Gruntmaster/Data.pm
b/lib/Gruntmaster/Data.pm
index 6de2fa2584338ec45aafef89365323b83d890b12..61a8f4e43cd6d42b69bc0610e4983fe249e4cafb 100644
(file)
--- a/
lib/Gruntmaster/Data.pm
+++ b/
lib/Gruntmaster/Data.pm
@@
-17,7
+17,7
@@
__PACKAGE__->load_namespaces;
use parent qw/Exporter/;
our $VERSION = '5999.000_012';
use parent qw/Exporter/;
our $VERSION = '5999.000_012';
-our @EXPORT = qw/purge/;
+our @EXPORT = qw/purge/;
## no critic (ProhibitAutomaticExportation)
use Lingua::EN::Inflect qw/PL_N/;
use JSON::MaybeXS qw/decode_json/;
use Lingua::EN::Inflect qw/PL_N/;
use JSON::MaybeXS qw/decode_json/;
@@
-186,8
+186,9
@@
sub update_status {
my @PURGE_HOSTS = exists $ENV{PURGE_HOSTS} ? split ' ', $ENV{PURGE_HOSTS} : ();
my $ht = HTTP::Tiny->new;
my @PURGE_HOSTS = exists $ENV{PURGE_HOSTS} ? split ' ', $ENV{PURGE_HOSTS} : ();
my $ht = HTTP::Tiny->new;
-sub purge { $ht->request(PURGE => "http://$_$_[0]") for @PURGE_HOSTS }
-
+sub purge {
+ $ht->request(PURGE => "http://$_$_[0]") for @PURGE_HOSTS;
+}
1;
1;
diff --git
a/lib/Gruntmaster/Data/Result/Contest.pm
b/lib/Gruntmaster/Data/Result/Contest.pm
index e7b72259d7b10fc05c3736a7200347f4fd3405ea..a82bc0f2a4fdb85ffc71b9924ea79dec84b536d2 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/Contest.pm
+++ b/
lib/Gruntmaster/Data/Result/Contest.pm
@@
-171,8
+171,15
@@
__PACKAGE__->many_to_many("problems", "contest_problems", "problem");
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IxxZqQwKisBwDabCNUD55Q
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IxxZqQwKisBwDabCNUD55Q
+use Class::Method::Modifiers qw/after/;
use List::Util qw/sum/;
use List::Util qw/sum/;
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/ct/';
+ Gruntmaster::Data::purge '/ct/' . $self->id;
+};
+
sub is_pending {
my ($self, $time) = @_;
$self->start > ($time // time)
sub is_pending {
my ($self, $time) = @_;
$self->start > ($time // time)
diff --git
a/lib/Gruntmaster/Data/Result/ContestProblem.pm
b/lib/Gruntmaster/Data/Result/ContestProblem.pm
index 4ae5e4b51893e531ce9e4bc62ec3dcb387391304..fd720add20ca7650dd5cb7521543424f0c4e4b5d 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/ContestProblem.pm
+++ b/
lib/Gruntmaster/Data/Result/ContestProblem.pm
@@
-94,9
+94,17
@@
__PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dTFBC3ZKB2T9SCiyQxxe2w
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dTFBC3ZKB2T9SCiyQxxe2w
+use Class::Method::Modifiers qw/after/;
+
sub rawcontest { shift->get_column('contest') }
sub rawproblem { shift->get_column('problem') }
sub rawcontest { shift->get_column('contest') }
sub rawproblem { shift->get_column('problem') }
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/pb/';
+ Gruntmaster::Data::purge '/pb/' . $self->rawproblem;
+};
+
1;
__END__
1;
__END__
diff --git
a/lib/Gruntmaster/Data/Result/ContestStatus.pm
b/lib/Gruntmaster/Data/Result/ContestStatus.pm
index 0815e988be356da7416809f263be78d4ed917ac5..d4ed8fe4d07d7707de43f5c2f3226deb643ab5f6 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/ContestStatus.pm
+++ b/
lib/Gruntmaster/Data/Result/ContestStatus.pm
@@
-108,6
+108,14
@@
__PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IkY4FNON0SrxrP8oNOXoHg
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IkY4FNON0SrxrP8oNOXoHg
+use Class::Method::Modifiers qw/after/;
+
sub rawowner { shift->get_column('owner') }
sub rawowner { shift->get_column('owner') }
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/us/';
+ Gruntmaster::Data::purge '/us/' . $self->rawowner;
+};
+
1;
1;
diff --git
a/lib/Gruntmaster/Data/Result/Job.pm
b/lib/Gruntmaster/Data/Result/Job.pm
index dfb375e7a0a0e40786a65b4213595b3349c1bf96..39d44bd81716ab02d910dceecfed6f6f9941ec84 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/Job.pm
+++ b/
lib/Gruntmaster/Data/Result/Job.pm
@@
-236,6
+236,8
@@
__PACKAGE__->has_many(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hEAVL5heV13+nalSmgr0WA
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hEAVL5heV13+nalSmgr0WA
+use Class::Method::Modifiers qw/after/;
+
sub rawcontest { shift->get_column('contest') }
sub rawowner { shift->get_column('owner') }
sub rawproblem { shift->get_column('problem') }
sub rawcontest { shift->get_column('contest') }
sub rawowner { shift->get_column('owner') }
sub rawproblem { shift->get_column('problem') }
@@
-244,6
+246,15
@@
sub rerun {
shift->update({daemon => undef, result => -2, result_text => undef});
}
shift->update({daemon => undef, result => -2, result_text => undef});
}
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/us/';
+ Gruntmaster::Data::purge '/us/' . $self->rawowner;
+ Gruntmaster::Data::purge '/st/' . $self->rawcontest if $self->rawcontest;
+ Gruntmaster::Data::purge '/log/';
+ Gruntmaster::Data::purge '/log/' . $self->id;
+};
+
1;
__END__
1;
__END__
diff --git
a/lib/Gruntmaster/Data/Result/Open.pm
b/lib/Gruntmaster/Data/Result/Open.pm
index 495df192462cf73800040a1cb7209afd595de125..e5c45e251b78ac4a66e09954112aa2bff5261518 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/Open.pm
+++ b/
lib/Gruntmaster/Data/Result/Open.pm
@@
-130,9
+130,17
@@
__PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jAao0vjOW87mO37ZQhm4Cw
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jAao0vjOW87mO37ZQhm4Cw
+use Class::Method::Modifiers qw/after/;
+
+sub rawcontest { shift->get_column('contest') }
sub rawowner { shift->get_column('owner') }
sub rawproblem { shift->get_column('problem') }
sub rawowner { shift->get_column('owner') }
sub rawproblem { shift->get_column('problem') }
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/st/' . $self->rawcontest;
+};
+
1;
__END__
1;
__END__
diff --git
a/lib/Gruntmaster/Data/Result/Problem.pm
b/lib/Gruntmaster/Data/Result/Problem.pm
index 34c9d876571618c2c04c7cb170473b5249e184e2..fe5523d62ced72ae2b9fa3316a63244eeffdacfe 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/Problem.pm
+++ b/
lib/Gruntmaster/Data/Result/Problem.pm
@@
-314,6
+314,14
@@
__PACKAGE__->many_to_many("contests", "contest_problems", "contest");
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QZHyWOWaPmTm/EQ5M22CGA
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QZHyWOWaPmTm/EQ5M22CGA
+use Class::Method::Modifiers qw/after/;
+
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/pb/';
+ Gruntmaster::Data::purge '/pb/' . $self->id;
+};
+
sub is_private {
my ($self, $time) = @_;
return 1 if $self->private;
sub is_private {
my ($self, $time) = @_;
return 1 if $self->private;
diff --git
a/lib/Gruntmaster/Data/Result/ProblemStatus.pm
b/lib/Gruntmaster/Data/Result/ProblemStatus.pm
index d46de2be19cae73c2f9d9862be3e01672b3af8d0..3b8ca4c940603b4eea01e99ec728203ec8c0f768 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/ProblemStatus.pm
+++ b/
lib/Gruntmaster/Data/Result/ProblemStatus.pm
@@
-135,6
+135,14
@@
__PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1OCTO6sM27DamVhQi3dWKg
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1OCTO6sM27DamVhQi3dWKg
+use Class::Method::Modifiers qw/after/;
+
sub rawowner { shift->get_column('owner') }
sub rawowner { shift->get_column('owner') }
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/us/';
+ Gruntmaster::Data::purge '/us/' . $self->rawowner;
+};
+
1;
1;
diff --git
a/lib/Gruntmaster/Data/Result/User.pm
b/lib/Gruntmaster/Data/Result/User.pm
index 0b0ba4b95f3f3a721c8f16cb258308fb6247e874..73fe6abae0088e7d0c7229e875139fff209110c6 100644
(file)
--- a/
lib/Gruntmaster/Data/Result/User.pm
+++ b/
lib/Gruntmaster/Data/Result/User.pm
@@
-215,6
+215,14
@@
__PACKAGE__->has_many(
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LiA2+ZpTTelwZJtFpZRsbw
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:54:00
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LiA2+ZpTTelwZJtFpZRsbw
+use Class::Method::Modifiers qw/after/;
+
+after qw/insert update delete/ => sub {
+ my ($self) = @_;
+ Gruntmaster::Data::purge '/us/';
+ Gruntmaster::Data::purge '/us/' . $self->id;
+};
+
use Authen::Passphrase;
use Authen::Passphrase::BlowfishCrypt;
use Authen::Passphrase;
use Authen::Passphrase::BlowfishCrypt;
This page took
0.018855 seconds
and
4
git commands to generate.