+BEGIN {
+my %order_by = (
+ recent => "uploaded",
+ popular => "hit_count",
+ loved => "rating/(1+rated)",
+ interesting => INTERESTINGNESS_ALGORITHM,
+ random => "rand()"
+);
+
+while (my($label, $how) = each %order_by) {
+ __PACKAGE__->set_sql($label => qq{
+ SELECT __ESSENTIAL__
+ FROM __TABLE__
+ ORDER BY $how DESC
+ LIMIT 4
+ });
+ no strict;
+ *$label = sub {
+ my ($self, $r) = @_;
+ $self->view_paged_ordered($r, "$how desc");
+ };
+ __PACKAGE__->MODIFY_CODE_ATTRIBUTES(*{$label}{CODE}, "Exported"); # Hack
+}
+}