Skip to content

Instantly share code, notes, and snippets.

View willert's full-sized avatar

Sebastian Willert willert

  • Göttingen, Germany
View GitHub Profile
@willert
willert / Users.pm
Last active August 29, 2015 13:56
Uesers
package Wellmax::Controller::Users;
use Moose;
use namespace::autoclean;
use Data::Dumper;
BEGIN { extends 'Catalyst::Controller' }
__PACKAGE__->config(
action => {
package Util::Certificates;
use WeCARE::Test -app => 'AMG';
use utf8;
use AMG::Certificate;
sub test_cert {
my $self = shift;
my $template = $self->env->path_to( 'share', 'member_cert.pdf' );
@willert
willert / Certificate.pm
Last active August 29, 2015 13:57
Cert builder
package AMG::Certificate;
use 5.014;
use utf8;
use Moose;
use namespace::autoclean;
has content => (
is => 'ro',
writer => 'set_content',
@willert
willert / recipe.mp
Created March 4, 2014 18:59
A complete base class for mason widgets (recipe.mp)
has item => ();
has visits => ();
has fav_map => ();
has search_string => ( default => '' );
has force_tab => ();
has uri => ( init_arg => undef, default => method () {
my $uri = URI->new( $.item->get_uri . $.search_string );
$uri->query_param( foo => $.force_tab ) if $.force_tab;
$uri;
sub product_name {
my $self = shift;
return $self->product->base_product;
}
sub variant_product {
my $self = shift;
return $self->product->modification;
}
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=linux, osvers=2.6.24-23-server, archname=i486-linux-gnu-thread-multi
uname='linux rothera 2.6.24-23-server #1 smp wed apr 1 22:22:14 utc 2009 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemul
Old style:
final action do_login as 'einloggen' {
my ( $system, $partner ) = @{$ctx->stash}{qw/ system partner /};
[...]
New style:
final action do_login( :$system, $partner ) as 'einloggen' {
has partner_class => (
is => 'ro',
isa => ClassName,
default => 'WeCARE::Partner::Repository::Partner',
);
has _partner_conf => (
is => 'ro',
isa => HashRef[HashRef],
init_arg => 'partner',
my %args = %{ $self->interp_args || {} };
if ( my $enc = $self->encoding ) {
my $old_func = delete $args{ postprocess_text };
$args{ postprocess_text } = sub{
$old_func->( $_ ); $_ = $enc->decode( $_ );
};
}
return $self->interp_class->new(
%args
package WuB::Schema::ResultSet;
use base qw/DBIx::Class::ResultSet/;
sub has_rows {
my $self = shift;
my @pk = $self->result_source->primary_columns;
my $first_row = $self->search( undef, {
select => \@pk,
rows => 1,
order_by => \'1'